内存分析——Memory Analyzer

本文详细介绍了一种在不使用Eclipse的情况下进行Java内存分析的方法。通过安装MemoryAnalyzerTools并利用特定的JVM参数或jmap命令生成dump文件,再用MemoryAnalyzerTools解析这些文件,最终在浏览器中查看分析报告,从而定位内存泄漏等问题。

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

说明:记录一次java内存分析的办法。因为本人未使用 Eclipse进行编写代码,所以无法直接使用 eclipse 直接分析。替代方式是将dump文件直接用Memory Analyzer Tools工具进行分析。以下是步骤。

1 安装 Memory Analyzer Tools

官网地址:http://www.eclipse.org/mat/downloads.php
在这里插入图片描述
这个地址下载速度比较慢,而且下载服务器老是崩溃,后面在网上找了个下载包,linux_x86-64位的,如果需要可以私聊。

解压后的目录如下:
在这里插入图片描述

2 内存 dump 文件生成

dump文件可以是内存溢出是,自动生成的,java配置参数是 :

 -XX:+HeapDumpOnOutOfMemoryError 
 -XX:HeapDumpPath=/opt/app/m.hprof

手动生成直接导出,命令如下:

jmap -dump:live,format=b,file=m.hprof ${PID}

3 分析 dump 文件

在安装路径下直接执行以下命令:

./ParseHeapDump.sh /opt/memory_analyzer/m.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components

此命令会在 m.hprof 同级目录下生成许多文件,所以建议创建个新目录再执行此命令。结果如下:
在这里插入图片描述

4 打开分析报告

将上面的文件全部拷贝至本地,解压 .zip 文件
使用浏览器打开 index.html 文件的内容,显示如下:
在这里插入图片描述
至此可以分析具体原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值