Memory Analyzer Tool(MAT)是 Eclipse 提供的一款强大工具,专门用于分析 Java 堆转储(heap dump),帮助找出内存泄漏、分析内存占用情况等。
🔧 一、MAT 下载和安装方法
✅ 方法一:独立版(推荐)
适合只想使用 MAT 而不装 Eclipse 的用户。
1. 官网下载地址:
前往官方网站下载最新版独立包:
👉 https://www.eclipse.org/mat/downloads.php
2. 选择版本:
根据操作系统下载合适版本:
系统 | 文件名示例 |
---|---|
Windows | MemoryAnalyzer-1.x.x.202x...-win32.win32.x86_64.zip |
macOS | MemoryAnalyzer-1.x.x.202x...-macosx.cocoa.x86_64.dmg |
Linux | MemoryAnalyzer-1.x.x.202x...-linux.gtk.x86_64.tar.gz |
3. 解压并运行:
- Windows:解压后双击运行
MemoryAnalyzer.exe
- macOS:拖入 Applications,直接运行
- Linux:解压后运行
./MemoryAnalyzer
✅ 方法二:Eclipse 插件形式
适合已经安装了 Eclipse 的开发者。
1. 打开 Eclipse
进入菜单栏:Help > Install New Software
2. 添加 MAT 插件源:
在 Work with:
输入框中填写:
https://download.eclipse.org/mat/1.13/update-site/
(也可以根据版本号更新源)
3. 勾选:
Memory Analyzer (Feature)
然后点击:Next > Next > Accept > Finish
安装完成后重启 Eclipse。
📦 三、打开 .hprof
文件分析
MAT 支持以下方式打开 Java Heap Dump 文件(如 .hprof
):
- 启动 MAT,选择:
File > Open Heap Dump
- 导入
.hprof
文件(如来自 JVM OOM 的java_pidXXXX.hprof
) - 分析如下内容:
Histogram
Dominator Tree
Top Consumers
Leak Suspects Report
📌 注意事项
- 建议为 MAT 分配更多内存(编辑
MemoryAnalyzer.ini
):
-Xmx4g
-XX:-UseGCOverheadLimit
.hprof
文件太大时,推荐使用 64 位 MAT,避免内存不足。
🧠 补充:怎么生成 .hprof
?
在 JVM 启动参数中加上:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/path/to/your.hprof
也可以通过命令手动生成:
jmap -dump:format=b,file=heapdump.hprof <pid>
发表回复