堆转储快照文件分析工具MAT使用

10 篇文章 0 订阅
10 篇文章 0 订阅

背景

我们知道jmap命令可以生成对转储快照文件,那么如何分析呢?除了jdk自带的工具(不好用,看不出来东西)
下面介绍eclipse的memory analyze tool(mat)的使用
mat可以独立于开发工具使用,是个比较方便不错的内存分析工具。

下载

下载地址:https://eclipse.org/mat/downloads.php
选择适合自己的版本,笔者选择的是mac osx版本。

使用

下载完成后是个zip包,解压后出现一个应用程序:
在这里插入图片描述
但是这样事不能直接打开的:
在这里插入图片描述

解决方式:显示包内容->contents->MacOS ,找到MemoryAnalyzer命令。
打开终端,进入到此目录下执行:./MemoryAnalyzer -data ./dump
即可成功启动。
在这里插入图片描述
选择 open a heap dump,打开一个dump文件进行分析
如果出现如下错误:
在这里插入图片描述
修改 contents/Eclipse/MemoryAnalyzer.ini 文件的
-Xmx 属性,如下:
在这里插入图片描述
保存后重新启动mat。

分析成功后如下:
在这里插入图片描述
下面有一行 leak suspects(泄漏疑点)
在这里插入图片描述
点击进入leak suspects查看:
在这里插入图片描述
这里明确指出了事哪个线程,占用了多少内存。
进入堆栈去看看详细信息:
在这里插入图片描述
这里指出了具体哪个类的哪个方法以及具体行数,这样就定位出了内存泄漏的具体信息了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值