核心功能简介:
- Histogram:展示了各类的实例数目以及这些实例的shallow heap或Retained heap的总和。
- Dominator tree:按对象的 Retain Heap 排序,也支持按多个维度聚类统计,最常用的功能之一。
- Leak Suspects:自动检测堆dump文件,查看哪些可能泄漏的疑点,哪些对象还使用存活,为什么没有被垃圾回收。
- Thread overview:展现转储 dump 文件时线程栈帧等详细状态,也提供各线程的Retain Heap等关联内存信息。
- Leak Suspects Report(内存泄漏疑点报告-常用)
用于自动检测堆dump文件、查看可能泄漏的疑点、哪些对象还使用存活、为什么没有被垃圾回收。
- Component Report(组件报告)
用于分析一些列对象集合,包括重复字符串、空集合、弱引用、终结器等。
- Re-open previously run reports(打开一个已存在的dump报告)
4.1Dominator tree
样例图中可以看到是main线程中存在大对象ArrayList以及A占用98%以上的内存。
可以按照class进行分组,尽快定位大对象的原因
4.2 Histogram
可以通过references快速找到占用较高内存对象的相关引用
使用场景:有些情况下, Dominator tree 无法展现出热点对象(如按 class 聚合也无明显热点对象,此时 Dominator tree 很难做关联分析判断哪类对象占比高),这时可以使用 Histogram 查看所有对象所属类的分布,快速定位占据 Retained Heap 大头的类。
使用技巧:Integer,String 和 Object[] 一般不直接导致内存问题。为更好的组织视图,可以通过 class loader 或 package 分组进一步排查问题。
4.3 Leak Suspects
当存在明显的内存泄漏时,分析完Dump文件后就会展现。查看引用链条上占用内存较多的可疑对象。这个功能可解决一些基础问题。

4.4 thread overview
该模块可以看到:线程对象/线程栈信息、线程名、Shallow Heap、Retained Heap、类加载器、是否Daemon线程等信息
在分析内存Dump的MAT中还可以看到线程栈信息
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/81471.html