linux使用MAT分析dump文件

本文介绍了在Linux系统中如何使用MAT(Memory Analyzer Tool)来分析dump文件。首先,根据'uname -m'命令确定系统架构并下载相应版本的MAT。接着,调整MAT的内存设置以适应dump文件大小,避免MAT内存不足的问题。然后,利用jmap生成dump文件,并通过MAT进行分析。最后,解释了遇到'Unable to initialize GTK+'错误时的解决方法,以及查看分析报告的两种方式。此外,文章还提及了一份包含2021年Java中高级面试必备知识点的全面学习资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Eclipse的MAT工具下载链接

MAT支持各种操作系统,找到Linux版本下载下来

运行uname -m 看一下linux是 x86_64还是 x86的帮助你选择下载那个版本。

uname -m

#x86_64

wget http://eclipse.stu.edu.tw/mat/1.9.0/rcp/MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip

解压配置MAT基本参数

unzip MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip

修改MAT的内存大小, 注意这个大小要根据你dump文件大小来的,如果dump文件是5GB那么 这里最好配>5GB 否则会报MAT内存不足的异常

修改MemoryAnalyzer.ini 的 -Xmx6024m

vi MemoryAnalyzer.ini

jmap dump整个堆

想了解更详细的请看这篇博文望闻问切使用jstack和jmap剖析java进程各种疑难杂症

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

等待结果…

结果会生产如下三个zip文件,很小可以直接拷贝到本机

jmap_Leak_Suspects.zip

jmap_System_Overview.zip

jmap_Top_Components.zip

查看报告结果

有两种查看报告的方法

  • 直接把zip下载到本地,然后解压用浏览器查看index.html

  • 把zip下载到本地, 用MAT可视化工具解析zip

遇到问题

Unable to initialize GTK+

遇到这个问题的话,是因为ParseHeapDump.sh

里面需要调用GTK的一些东西。解决方法:

vi ParseHeapDump.sh

#注释掉 "$(dirname – " 0 " ) " / M e m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值