websphere内存溢出,手动导出was的phd和javacore文件

网上有很多方法,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

别的还有,但是没试过,不多讲。

 

 

 

原文地址:https://www.cnblogs.com/zhengbn/p/3499700.html