websphere jvm crash分析

java heap dump和java thread dump是用来分析jvm两种snapshoot。
java heap dump是jvm heap部分的镜像,包含了所有object的信息,ibm的heap dump文件格式是phd
java thread dump则主要包含了jvm thread,classloader等相关的信息镜像,ibm的thread dump也叫core dump

不同版本的 JVM 所产生的 thread dump 的格式可能会稍有不同,但基本上都会包含以下几个方面的内容:

TITLE 信息块:描述 JAVA DUMP 产生的原因,时间以及文件的路径。
GPINFO信息块:用于查看问题的详细信息和问题定位。
ENVINFO 信息块:系统运行时的环境及 JVM 启动参数。
MEMINFO 信息块:内存的使用情况和垃圾回收记录。
LOCKS 信息块:用户监视器(Monitor)和系统监视器(Monitor)。
THREADS信息块:所有 java 线程的状态信息和执行堆栈。
CLASSES信息块:类加载信息。

ibm heap analyzer是专门用来分析java heap dump的工具,更多详细请看下面link,里面包含此工具的下载地址:
https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091



用waadmin生成java heap dump参考下面步骤:

在命令行中操作
进入wsadmin

D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>wsadmin -user wasadmin -password password

设置jvm环境变量

wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

生成javacore文件

wsadmin>$AdminControl invoke $jvm dumpThreads

找到JVM对象名字

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]

生成heapdump文件

wsadmin>$AdminControl invoke $objectName generateHeapDump




利用wsadmin生成javacore,heapdump文件
一、生成javacore文件

安装目录WebSphere\AppServer\bin\wsadmin.bat
输入命令  wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]          
输入命令  wsadmin>$AdminControl invoke $jvm dumpThreads
安装目录\WebSphere\AppServer\profiles\default下生成javacore文件(例:javacore.20090804.111947.2632.txt)
用javacore文件分析器对javacore文件进行分析
cd /d javacore文件分析器放置路径>java –Xmx1000m –jar jca31.jar


二、生成heapdump文件

安装目录WebSphere\AppServer\bin\wsadmin.bat
输入命令  wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
输入命令  wsadmin>
$AdminControl invoke $objectName generateHeapDump
安装目录\WebSphere\AppServer\profiles\default下生成HeapDump文件(例:heapdump.20090804.113353.2632.phd)
用heapdump文件分析器对heapdump文件进行分析
cd /d heapdump文件分析器放置路径>java –Xmx1000m –jar ha33.jar

猜你喜欢

转载自bkhh.iteye.com/blog/1872369