一、MAT 安装

1.1 下载

MAT(Memory Analyzer Tool) - 图1

1.2 解压使用

1.3 打开使用

  • 导入-XX:+HeapDumpOnOutOfMemoryError 内存堆转储快照 ,文件格式*.hprof)

二、MAT 操作了解

2.1、相关动作

2.1.1、Actions

  • Histogram:柱状图列出每个类的实例数
  • Dominator Tree:统治者树列出最大的物体和它们存活的东西。
  • Top Consumers:顶级消费者打印按类和包分组的最昂贵的对象。
  • Duplicate Classes:重复的类检测由多个类装入器装入的类。

    2.1.2、Reports:报告

  • Leak Suspects:怀疑泄露包括泄漏疑点和系统概述

  • Top Components:顶部组件 列出大于堆总数 1% 的组件的报告
  • Leak Suspects by Snapshot Comparison:通过快照比较来怀疑泄漏 包括泄漏疑点和比较两个快照的系统概述。

    2.1.3、Histogram

    image.png
  • Class Name:类名
  • Objects:对象个数
  • Shallow Heap:直译就是浅层堆,其实就是这个对象实际占用的堆大小。这个比较难理解,有兴趣可以去查阅相关资料
  • Retained Heap:直译过来是保留堆,一般会大于或者等于shallow heap

2.1.4、Dominator Tree

image.png

参考