.hprof文件(分析hprof文件)

.hprof文件(分析hprof文件)核心功能简介 Histogram 展示了各类的实例数目以及这些实例的 shallow heap 或 Retained heap 的总和 Dominator tree 按对象的 Retain Heap 排序 也支持按多个维度聚类统计 最常用的功能之一 Leak Suspects 自动检测堆 dump 文件 查看哪些可能泄漏的疑点 哪些对象还使用存活 为什么没有被垃圾回收 Thread

大家好,我是讯享网,很高兴认识大家。




讯享网

核心功能简介:

  • 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中还可以看到线程栈信息

 

小讯
上一篇 2025-04-22 15:10
下一篇 2025-04-29 08:10

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/159864.html