Java: Memory Analyzer Tool (MAT) usage: comparing two heapdump(Java:内存分析器工具(MAT)用法:比较两个堆转储)
问题描述
我使用的是Eclipse+MAT插件。我可以看到一个.hprof文件堆历史记录,我为我的Java应用程序拍摄了两个快照。我希望当我比较两个堆转储时,我可以计算出哪个对象实例增加了很多,这样我就可以识别内存泄漏的可能性。
netbean可以做到这一点吗?
推荐答案
说明
- 在MAT 中打开两个堆转储
- 打开显示异常行为的堆转储(通常是内存或线程使用率较高的堆转储)的直方图。
- 将其与另一个堆转储进行比较
- 从列表中选择适当的堆转储
解释结果
类名:应用程序中实例化的类,占用内存
对象:类实例数量的计数高于或低于其他堆转储。
浅堆:给定类在其他堆转储上方或下方的内存中占用的字节数。
提示
由于MAT默认按降序排序,因此我建议切换对象和浅堆列的顺序,以查看每个列在两个方向上的最大异常值。
通常您应该忽略纯Java类,如String、Array和Maps,而专注于您的应用程序定义的类。
引用
Comparing Objects Official Eclipse Help Doc
这篇关于Java:内存分析器工具(MAT)用法:比较两个堆转储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java:内存分析器工具(MAT)用法:比较两个堆转储


- 获取数字的最后一位 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 转换 ldap 日期 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01