eclipse memory Analyzer(MAT) 内存泄漏分析

1 软件下载及配置

 1.1软件下载

        Eclipse IDE,它非常有用。因为Memory Analyzer在分析堆内存的时候比较耗费内存,而Eclipse IDE本身又是比较耗费内存的,所以推荐使用独立安装的Memory Analyzer。

安装包地址:https://www.eclipse.org/mat/downloads.php

独立安装的Memory Analyzer的独立版本所需的最低Java版本是Java 11。

 1.2 软件设置

  1. Eclipse Memory Analyzer默认的启动堆最大内存为1G。这一步取决你堆内存文件的大小。我这边正式环境导出的堆文件大小大概3G多一点。所以索性我就将Eclipse Memory Analyer,启动最大堆内存调成4G
  2. 操作步骤如下。
  3. 文件目录。

  1. 修改

2 堆内存下载

        使用命令 JMap -dump  下载堆内存数据

3 分析异常文件

 3.1 打开错误

错误1:an internal error occurred during: “Parsing heap dump from

解决方案:在mat目录下找到MemoryAnalyzer.ini配置文件,修改-Xmx的大小大于你当前文件的大小

eg: 当前dump下来的文件是2.5G,可以设置为4096m

3.2 分析步骤

  1. 点击 leak suspects (泄露疑点)

2:点击如下图:

详情如下

可以看出内存泄露的相关类

补充:

也可以通过 histgram 和 Dominator Tree 分析文件

进入详情页之后,查找占用空间最大的类,然后通过 Path to GC Roots 和 可以通过右键 -> List objects -> with incoming references来查看具体是谁在使用这些byte[]。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值