1. MAT(Memory Analyzer Tool)
内存分析工具
2. 参考链接
https://cloud.tencent.com/developer/article/1668605
https://blog.csdn.net/Jin_Kwok/article/details/80326088
3. 官网地址
http://www.eclipse.org/mat/downloads.php
3.1. windows
建议自己去官网下载,否则可能版本与jdk版本不匹配导致启动失败
http://ftp.yz.yamagata-u.ac.jp/pub/eclipse/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-win32.win32.x86_64.zip
下载后解压,直接运行里面的exe文件就行,可以打开dump文件或者分析本地进程
3.2. linux
wget http://eclipse.stu.edu.tw/mat/1.9.0/rcp/MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip
unzip MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip
- 修改MAT的内存大小, 注意这个大小要根据你dump文件大小来的,如果dump文件是5GB那么 这里最好配>5GB 否则会报MAT内存不足的异常
- 修改MemoryAnalyzer.ini 的 -Xmx6024m
- vi MemoryAnalyzer.ini
dump内存文件
jmap -dump:format=b,file=jmap.info PID
MAT分析 dump
./ParseHeapDump.sh jmap.info org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
会在 jmap.info所在目录中生成三个文件,下载下来本地浏览器打开
jmap_Leak_Suspects.zip
jmap_System_Overview.zip
jmap_Top_Components.zip