.下载、安装
地址:http://www.eclipse.org/mat/downloads.php 直接解压即可
初始界面
.获取对应进程的heapdump,使用jmap命令
jmap -dump:live,format=b,file=test.hprof(保存的文件名字) pid(应用对应的进程id)
此时触发 jvm FGC
.点击Open a Heap Dump选择heap dump文件
.建议获取不同时段的heapdump 在mat中打开比较分析
打开两个heapdump,勾选Leak Suspects、选择Hsitogram界面
-
Histogram可以列出内存中的对象,对象的个数以及大小。
-
Dominator Tree可以列出那个线程,以及线程下面的那些对象占用的空间。
-
Top consumers通过图形列出最大的object。
-
Leak Suspects通过MA自动分析泄漏的原因。
2中选择 group by package 对比两边数据、排查问题
Leak Suspects(mat自动分析得出的可能出现问题的地方)
深色部分为怀疑内存泄漏区域
点击details查看
1.Shortest Paths To the Accumulation Point 表示 GC root到内存消耗聚集点的最短路径
2.All Accumulated Objects by Class列举了该对象所存储的所有内容。
参考文章
https://www.aliyun.com/jiaocheng/1838798.html?spm=5176.100033.2.19.25935c6fuCrYo0
https://www.aliyun.com/jiaocheng/839560.html?spm=5176.100033.2.14.25935c6ffWLuRK