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

上传人:woxinch****an2018 文档编号:39305816 上传时间:2018-05-14 格式:DOC 页数:12 大小:73KB
返回 下载 相关 举报
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 没有启动(提示

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

3、eb.xml 文件,看看对应的 servlet(即应用程序根路径)是否有如下配置:Ngboss # #该名称必需要有对应的该名称必需要有对应的 servlet-mappingservlet-mappingweblogic.servlet.proxy.HttpClusterServletWebLogicCluster10.131.39.75:7101|10.131.39.76:7101 #IP#IP 及端口是否配置正确,顺序是否正确及端口是否配置正确,顺序是否正确CookieNameNGBOSS_JSESSIONID # #该名称必需与应用程序的该名称必需与应用程序的 weblogic.xmlw

4、eblogic.xml里配置的里配置的 CookieNameCookieName 一致一致wl-dispatch-policyngboss# #该段配置是用来对集群分发,配合它才能实现集群的分发,该段配置是用来对集群分发,配合它才能实现集群的分发,param-valueparam-value即即 servletservlet 的访问名称的访问名称.Ngboss # #该名称必需要有对应的该名称必需要有对应的 servletservlet/*3.查看应用程序的 Monitoring 的 Session,根据各 Server 上的在线 Session 数即可判断集 群是否实现负载,常见的无法负载原

5、因有: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-WTCServer-Ctrl 是否 connected4、JDBC 监制监制1.查看连接的总体情况,看看是否

6、有未释放的连接,查看时要多次刷新页面看看 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 列表可参看 Server 访 问地址里的访问根路径名二、问题分析定

7、位必杀技二、问题分析定位必杀技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

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

9、程运行情况,定位问题,可以通过多种途径获取进程,如:说明:通过分析某一进程的各个线程运行情况,定位问题,可以通过多种途径获取进程,如:1.1.根据有问题的系统模块找到对应的根据有问题的系统模块找到对应的 ServerServer,然后用,然后用 psps efef | | grepgrep ServerNameServerName 即可得到进程名即可得到进程名2.2.根据根据 WLWL 的控制台找到对应的的控制台找到对应的 ServerServer,然后用,然后用 psps efef | | grepgrep ServerNameServerName 即可得到进程名即可得到进程名三、三、jav

10、acore 快速定位快速定位1、生成、生成 javacore 文件文件1.通过命令 ps -mp $ID -o THREAD | grep R;kill -3 $ID($ID 为进程 ID) ,即可在域目录 (ngbossdomain)下生成与进程 ID 对应的 javacore 文件,主要分析*.txt 文件,记下该 命令的输出日志,记下着色处的数字,示例如下: 2.:/ngboss/webapp $ps -mp 286906 -o THREAD | grep R;USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMANDwebapp 2869

11、06 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.library.path=/usr/java6_64/jre/lib/ppc64/default:/usr/java6_64/jre/lib/ppc64:/usr/

12、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.class.path=/bea/weblogic/server/lib/AIX-ComboPatch- Essex.jar:/bea/weblogic/server/l

13、ib/CR370915_1030GA.jar:/bea/patch_wls1030/profiles/defau lt/sys_manifest_classpath/weblogic_patch.jar:/bea/patch_cie660/profiles/default/sys_manifes t_classpath/weblogic_patch.jar:/usr/java6_64/lib/tools.jar:/bea/weblogic/server/lib/weblogic_ sp.jar:/bea/weblogic/server/lib/weblogic.jar:/bea/modules

14、/features/weblogic.server.modules_ 10.3.0.0.jar:/bea/weblogic/server/lib/webservices.jar:/bea/modules/org.apache.ant_1.6.5/lib/a nt-all.jar:/bea/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar:/bea - Dweblogic.system.BootIdentityFile=/ngboss/webapp/ngbossdomain/servers/acctmanm22/dat a/n

15、odemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true - Dweblogic.security.SSL.ignoreHostnameVerification=false - Dweblogic.ReverseDNSAllowed=false -Xms3072m -Xmx4096m -Dibm.stream.nio=true - Dfile.encoding=GBK -Duser.language=zh -Duser.region=CN -Xgcpolicy:gencon weblogic.Server - -

16、 - 975497 R 88 141 0 - 400000 - - - 说明:说明:该命令生成当进程正在运行(状态为该命令生成当进程正在运行(状态为 R R)的线程日志,着色处为线程)的线程日志,着色处为线程 IDID,将该,将该 IDID 用用 WindowsWindows 自带的计算自带的计算器转换成器转换成 1616 位即可在位即可在 javacorejavacore 文件里找到对应的线程日志文件里找到对应的线程日志2、分析、分析 javacore 定位问题定位问题1.用 vi 命令查看 javacore*.txt 文件,查找线程 ID 转 16 位的串; 2.如果 1 查到的内容是:GC 日志、Wait 状态、autoLogin 栈都不需要关注,只关注有带 有相应模块串的异常栈信息,示例如下: 3.3XM

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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