【linux】linux下对java程序生成dump文件,并使用IBM Heap Analyzer进行分析,查找定位内存泄漏的问题代码

 

1.首先,java程序启动在linux,怎么生成dump文件?

  1》第一步,首先你需要得到java程序的PID,最简单的方法使用如下命令

ps -ef|grep java

  或者如果是docker启动的  springboot服务,也可以使用本命令:

 

  2》在任意位置,执行jmap命令,生成dump文件

jmap -dump:format=b,file=serviceDump.dat 953539
jmap -dump:format=b,file=serviceDump.dat [java进程的PID]

可以看到,生成的dump文件叫:serviceDump.dat

     生成文件的位置在:/backup/tomcat7/conf/serviceDump.dat

 

  3》你可以将这个dat文件,通过xftp工具,拉取到你的本地

 

 

 

2.在你本机下载一个工具,叫IBM Heap Analyzer

使用IBM Heap Analyzer这个工具,打开dump文件,可以进行分析,定位到内存泄漏位置

 

  1》下载该IBM Heap Analyzer工具,这个工具是个jar包

下载地址:https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091

 

 

 

下载下来是

 

  2》打开工具

 

 

posted @ 2019-04-12 11:47  Angel挤一挤  阅读(8328)  评论(0编辑  收藏  举报