原文地址
线上服务 full gc 时,使用下面方式查询问题
-
jmap -dump:live,format=b,file=dump.hprof XXXX
其中 XXX 为进程号 -
wget http://ftp.jaist.ac.jp/pub/eclipse/mat/1.9.1/rcp/MemoryAnalyzer-1.9.1.20190826-linux.gtk.x86_64.zip
- 修改配置参数,按需要修改使用内存大小
-startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505 -vmargs -Xms16g -Xmx16g
-
./ParseHeapDump.sh ../today_heap_dump/dump.hprof org.eclipse.mat.api:suspects
- 还可以使用另外两个 参数
- org.eclipse.mat.api:overview
- org.eclipse.mat.api:top_components
-
最后,命令执行的结果里面,会有一个压缩文件,down 下来,就可以分析问题原因了