WebLogic问题分析常用方法及技巧

上传人:pu****.1 文档编号:495600065 上传时间:2023-11-23 格式:DOCX 页数:12 大小:25.22KB
返回 下载 相关 举报
WebLogic问题分析常用方法及技巧_第1页
第1页 / 共12页
WebLogic问题分析常用方法及技巧_第2页
第2页 / 共12页
WebLogic问题分析常用方法及技巧_第3页
第3页 / 共12页
WebLogic问题分析常用方法及技巧_第4页
第4页 / 共12页
WebLogic问题分析常用方法及技巧_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《WebLogic问题分析常用方法及技巧》由会员分享,可在线阅读,更多相关《WebLogic问题分析常用方法及技巧(12页珍藏版)》请在金锄头文库上搜索。

1、WebLogic问题分析常用方法及技巧说明:该文档专门针对WebLogic10.3怎么查问题、定位问题及日常维护中 的一些小技巧,该文档适合对WEB应用程序有一定认识、对WebLogic 有一定了解,对当前主机环境熟悉,对Aix命令有一定基础的相关人 员。其它非法人员切记在不了解的情况下做任何修改,执行任何命令, 以此带来的任何问题及影响概不负责。一、日常监控1、集群负载监控1. 查看集群内各Server的单独访问地址,是否能正常访问,Server访问地址后面有统一说明,常见的无法访问原因有:a. Server 没有启动(提示 Service not available),启动 Server

2、即可;b. 应用程序是否为Active (提示403或404), update或start即可;c. 应用程序已经是Active,Server也RUNNING仍无法访问,则可以通过应用程序的Monitoring 查看各Server上的运行情况,查看对应Server的*.out日志,通常情况下是应用程序更新有问 题导致的;2. 查看Proxy Server的线程数,根据应用程序根路径名可以定位是哪个具体的Server或集 群,若有队列吞吐量为0的情况说明集群没有实现分发(需要分析Proxy的web.xml 文件,看看对应的servlet(即应用程序根路径)是否有如下配置:Ngboss#该名称必需

3、要有对应的 servlet-mappingweblogic.servlet.proxy.HttpClusterServletWebLogicCluster10.131.39.75:7101|10.131.39.76:7101 #IP及端口是否配置正确,顺序是否正确CookieNameNGBOSS_JSESSIONID#该名称必需与应用程序的 weblogic.xml里配置的CookieName 一致wl-dispatch-policyngboss#该段配置是用来对集群分发,配合它才能实现集群的分发,param-value即servlet的访问名称Ngboss#该名称必需要有对应的 servle

4、t/*3.查看应用程序的Monitoring的Session,根据各Server上的在线Session数即可判断集群 是否实现负载,常见的无法负载原因有:a. 集群内存在已挂死的Server (查看各Server的*.out日志即可);b. Proxy 的 web.xml 配置错误,如 IP、端口、CookieName、servlet 名等;c. 应用程序发布的target是不是在集群;2、Server内存、队列、线程数监控1. 1.进入对应的Server监控页,查看Performance的Java内存、Threads的队列及线程数、 JDBC连接数等3、WTC监控1. Service-WTC

5、Server-Ctrl 是否 connected4、JDBC监制1.查看连接的总体情况,看看是否有未释放的连接,查看时要多次刷新页面看看Java内存 是否可以正常回收、队列及线程数是否有居高不下、JDBC是否有长时间不释放(这种 情况下需要DBA配合分析)5、日志监控1. 定期查看server/logs和logs/xxx_error.log出现的错误日志6、JMS监制1. Interoperability-WTC Servers-Connected 是否为 true7、后台进程监控1.用命令ps ef | grep $ServerName,看进程是否存在,ServerName列表可参看Serv

6、er访问 地址里的访问根路径名二、问题分析定位必杀技1. 用topas命令,查看占用CPU高的进程ID;2. 然后用ps -ef | grep $ID即可看到对应的ServerName;3. 然后进Console看该Server的运行状态(RUNNING),如果Server已经Down掉了可以直 接通过Console启起来,记得不要把ngbossdomain/servers/$ServerName/logs下的文件删 除,用作之后的日志分析4. 在Console可以操作的前提下,还可以查看该Server的Dump日志、进程的内存使用情 况、队列及空闲线程、JDBC连接数等5. 若Console

7、不可操作(一般在有Server挂死的情况下),可以用命令ps -mp $ID -o THREAD I grep R;kill -3 $ID(需要记录该命令的输出内容),执行完后会在ngbossdomain 下生成javacore文件(该文件与Console里的Dump日志内容相似),该命令可以多执 行几次,生成多个javacore文件,方便之后的问题分析;如果需要重启服务可以用kill -9 $ID,执行完这个命令后该Server会自动重启,切记要先生成javacore,再kill -9;说明:通过分析某一进程的各个线程运行情况,定位问题,可以通过多种途径获取进程,如:1. 根据有问题的系统模

8、块找到对应的Server,然后用ps - ef | grep ServerName即可得到进程名2. 根据WL的控制台找到对应的Server,然后用ps - ef | grep ServerName即可得到进程名三、javacore快速定位1、生成javacore文件1. 通过命令 ps -mp $ID -o THREAD I grep R;kill -3 $ID ($ID 为进程 ID),即可在域目录(ngbossdomain)下生成与进程ID对应的javacore文件,主要分析*.txt文件,记下该命 令的输出日志,记下着色处的数字,示例如下:2. :/ngboss/webapp $ps

9、-mp 286906 -o THREAD I grep R;USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMANDwebapp 286906 53800- A 90 60 245*242001-/usr/java6_64/jre/bin/java-Dweblogic.Name=acctmanm22-Djava.security.policy=/bea/weblogic/server/lib/weblogic.policy -Dweblogic.management.server=http:/10.200.141.23:7001 -Djava.

10、library.path=/usr/java6_64/jre/lib/ppc64/default:/usr/java6_64/jre/lib/ppc64:/usr/java6 _64/jre/lib/ppc64:/usr/java6_64/jre/lib/ppc64/default:/usr/lib:/usr/java6_64/jre/lib/ppc64/j9v m:/usr/java6_64/jre/lib/ppc64:/usr/java6_64/jre/./lib/ppc64:/bea/weblogic/server/native/aix/ ppc64:/usr/lib-Djava.cla

11、ss.path=/bea/weblogic/server/lib/AIX-ComboPatch-Essex.jar:/bea/weblogic/server/ lib/CR370915_1030GA.jar:/bea/patch_wls1030/profiles/default/sys_manifest_classpath/webl ogic_patch.jar:/bea/patch_cie660/profiles/default/sys_manifest_classpath/weblogic_patch.jar: /usr/java6_64/lib/tools.jar:/bea/weblog

12、ic/server/lib/weblogic_sp.jar:/bea/weblogic/server/lib/ weblogic.jar:/bea/modules/features/weblogic.server.modules_10.3.0.0.jar:/bea/weblogic/serv er/lib/webservices.jar:/bea/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/bea/modules/net.sf.an tcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar:/bea-Dweblogic

13、.system.BootIdentityFile=/ngboss/webapp/ngbossdomain/servers/acctmanm22/da ta/nodemanager/boot.properties-Dweblogic.nodemanager.ServiceEnabled=true-Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -Xms3072m -Xmx4096m -Dibm.stream.nio=true -Dfile.encoding=GBK

14、 -Duser.language=zh -Duser.region=CN -Xgcpolicy:gencon weblogic.Server-975497 R 88 141 0- 400000-说明:该命令生成当进程正在运行(状态为R)的线程日志,着色处为线程ID,将该ID用Windows自带的计算 器转换成16位即可在javacore文件里找到对应的线程日志2、分析javacore定位问题1. 用vi命令查看javacore*.txt文件,查找线程ID转16位的串;2. 如果1查到的内容是:GC日志、Wait状态、autoLogin栈都不需要关注,只关注有带有 相应模块串的异常栈信息,示例如下:3. 3XMTHREADINFO ExecuteThread: 2 for queue: default TID:0x0000000117168700, j9thread_t:0x00000001170E8160, state:CW, prio=53XMTHREADINFO1 (native thread ID:0x325063, native priority:0x5, native po

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号