MAT(Memory Analyzer Tools)
是一个快速且功能丰富的 Java 堆分析器,可帮助您查找内存泄漏并减少内存消耗。使用 MAT 分析具有数亿个对象的高效堆转储,快速计算对象的保留大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏嫌疑者。
1 简介
MAT 是一款非常强大的内存分析工具,在 Eclipse 中有相应的插件,同时也有单独的安装包。在进行内存分析时,只要获得了反映当前设备内存映像的
hprof
文件,通过 MAT 打开就可以直观地看到当前的内存信息。
2 使用
2.1 准备 MAT
下载独立版本的 MAT,下载地址:https://www.eclipse.org/mat/downloads.php,下载后解压。找到
MemoryAnalyzer.ini
文件,该文件里面有个 Xmx 参数,该参数表示最大内存占用量,默认为 1024m,根据堆转储文件大小修改该参数即可。
2.2 准备堆转储文件(Heap Dump)
堆转储文件(Heap Dump)是 Java 进程在某个时间内的快照(.hprof 格式)。它在触发快照的时候保存了很多信息,如:Java 对象和类信息(通常在写堆转储文件前会触发一次 Full GC)。
堆转储文件信息: