Memory Analyzer Tool(MAT)是 Eclipse 提供的一款强大工具,专门用于分析 Java 堆转储(heap dump),帮助找出内存泄漏、分析内存占用情况等。


🔧 一、MAT 下载和安装方法

✅ 方法一:独立版(推荐)

适合只想使用 MAT 而不装 Eclipse 的用户。

1. 官网下载地址:

前往官方网站下载最新版独立包:

👉 https://www.eclipse.org/mat/downloads.php

2. 选择版本:

根据操作系统下载合适版本:

系统文件名示例
WindowsMemoryAnalyzer-1.x.x.202x...-win32.win32.x86_64.zip
macOSMemoryAnalyzer-1.x.x.202x...-macosx.cocoa.x86_64.dmg
LinuxMemoryAnalyzer-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):

  1. 启动 MAT,选择:
    File > Open Heap Dump
  2. 导入 .hprof 文件(如来自 JVM OOM 的 java_pidXXXX.hprof
  3. 分析如下内容:
    • 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>