MAT堆栈分析工具安装使用

7 篇文章 0 订阅

首先打开官网下载工具

Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation

如果是linux上的使用

下载linux的MAT版本解压后

 该版本需要jdk11以上才可以运行

所以 先下载jdk 然后解压 Archived OpenJDK GA Releases

 修改MemoryAnalyzer.ini   添加-vm指定jdk环境

-startup
plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
-vm
/root/jdk-11/bin/java
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.200.v20210429-1609
-vmargs
-Xmx4024m

执行, ./ParseHeapDump.sh gpl-dump.hprof^Corg.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components

 

 等待一会儿执行完成会生成 三个zip的分析文件

把这个三个zipi文件可以分别解压放到nginx的上进行访问,或者copy出来放到window上直接打开index.html

 

 

window环境下下载的win的包,以下是win环境下的使用

下载成功解压后

运行MemoryAnalyzer.exe发现报错

需要使用jdk11以上的版本。

下载jdk11

Archived OpenJDK GA Releases

下载成功后,可是我并不想替换原来系统中的jdk8的环境,所以,此时可在MemoryAnalyzer.ini中配置vm的运行环境,-vm下内容为 下载的jdk11后解压后的bin目录javaw.exe 

再次运行  MemoryAnalyzer.exe

可以加载一个本地dump堆栈的文件进行分析。

 加载堆栈文件后的Overview

 此时可以看到 大对象占用的内存空间,以及饼状图左下角哪个线程运行的时候产生的

此时可以点击  Leak_Suspects 进一步查看详细分析信息

 这里基本可以分析出某个类某个方法调用会产生大量对象

 点击detail可以查看具体哪些对象占用大量空间

 list中装载的大量的LinkedHashmap占用大量空间

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的窝窝牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值