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包
下载下来是
2》打开工具