简介 

MAT是一个内存分析工具,是Eclipse的插件,但也可以使用独立版避免安装Eclipse。

下载后的安装包为:MemoryAnalyzer-1.10.0.20200225-win32.win32.x86_64.zip

使用

第一步:生成hprof文件

a)自动生成,jvm启动参数里添加下面配置,当发生OutOfMemoryError时,虚拟机会自动dump内存快照

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR/java.hprof"

b)手动生成,通过执行jdk自带命令

jmap -dump:format=b,file=heap.bin  <pid>

第二步:使用MAT分析hprof文件

分析hprof文件有如下三种方法:

  1. 文件不大时,可使用MAT
  2. 文件不大时,可使用这个网址来分析:​​Smart Java thread dump analyzer - thread dump analysis in seconds​
  3. 文件比较大时,使用jhat来分析。

其他网址

​Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation​​    (MAT独立版)