网上有很多方法,ibm官方也提供了。但是,好奇怪,好像只有百度博客的一片文章提出要先设置环境条目或定制属性,否则命令不生效。
我测试了很多种方法,只有一种生效。贴出来,给需要的人看看。
1:服务器-->服务器类型-->WebSphere Application Server
2:点击进入server1
3:如果是was7的话
服务器基础机构-->管理-->定制属性
如果的was6的话
java进程和管理-->环境条目
4:分别新建以下属性,并切记保存,注意不要有多余的空格
名称 值
IBM_HEAPDUMP TRUE
IBM_HEAPDUMPDIR d:/ww
IBM_HEAPDUMP_OUTOFMEMORY TRUE
IBM_HEAP_DUMP TRUE
IBM_JAVADUMP_OUTOFMEMORY TRUE
IBM_JAVA_HEAPDUMP_TEXT TRUE
5:确认无误后,重启websphere,否则不生效
6:打开cmd,进入websphere安装目录,<was_home>\AppServer\bin,执行wsadmin.bat
导出javacore的命令:
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
$AdminControl invoke $jvm dumpThreads
导出heapdump的命令:
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
$AdminControl invoke $objectName generateHeapDump
7:导出javacore****.txt截图:
导出heapdump****.txt截图:
没有抛错的话就是正常
导出的文件在
was7在:<was_home>\AppServer\profiles\AppSrv01 (包括.phd文件和.txt文件)
was6在:d:ww文件夹
截图:
备注:
目前已知的分析工具
ha452.jar
ha39.jar
别的还有,但是没试过,不多讲。