Eclipse Memory Analyzer (MAT) 使用入门

下载

Eclipse Memory Analyzer (MAT) 下载
直接解压运行

生成Dump文件

jmap -dump:live,format=b,file=[fileName] [javaPid]
注意运行命令时请使用运行java进程的user操作,或使用sudo -u [userName]

打开Dump文件

Overview

Histogram(直方图)

展示内存中所有类的对象个数以及所有对象的大小总和

Dominator Tree(支配树)

展示内存中所有对象的大小以及内存占比

Top Consumers

通过饼图的方式展示内存中所有对象的大小以及内存占比

Leak Suspects

MAT内存泄漏分析,可自动分析内存泄漏可疑点

Thread Overview

展示正在运行中所有的线程基本信息,以及线程栈

名词解释

Shallow Heap

就是对象本身占用内存的大小,不包含对其他对象的引用,也就是对象头加成员变量(不是成员变量的值)的总和;

Retained Heap

是该对象自己的Shallow Heap,加上从该对象能直接或间接访问到对象的Shallow Heap之和。Retained Heap是该对象被GC之后所能回收到内存的总和。