1、下載linux版本的mat
wget http://eclipse.stu.edu.tw/mat/1.9.0/rcp/MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip
2、解壓zip包
unzip MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip
3、修改linux mat的堆內存大小(看自己下載的堆的大小,默認mat的堆支持1g)
vi MemoryAnalyzer.ini
-startup plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.700.v20180518-1200 -vmargs -Xmx10240m
由於我們的堆內存過大,所以設置mat的最大堆為10g
4、執行分析腳本
./ParseHeapDump.sh [hprof文件] org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
可能失敗
原因jdk版本較低
修改腳本的jdk版本
export JAVA_HOME=/opt/soft/jdk/jdk1.8.0_66/ export PATH=$JAVA_HOME/bin:$PATH "$(dirname -- "$0")"/MemoryAnalyzer -consolelog -application org.eclipse.mat.api.parse "$@"
5、查看輸出的文件夾
很方便的看出堆內存的情況