Java:内存分析器工具(MAT)用法:比较两个堆转储

Java: Memory Analyzer Tool (MAT) usage: comparing two heapdump(Java:内存分析器工具(MAT)用法:比较两个堆转储)

本文介绍了Java:内存分析器工具(MAT)用法:比较两个堆转储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是Eclipse+MAT插件。我可以看到一个.hprof文件堆历史记录,我为我的Java应用程序拍摄了两个快照。我希望当我比较两个堆转储时,我可以计算出哪个对象实例增加了很多,这样我就可以识别内存泄漏的可能性。

netbean可以做到这一点吗?

推荐答案

说明

  1. 在MAT
  2. 中打开两个堆转储
  3. 打开显示异常行为的堆转储(通常是内存或线程使用率较高的堆转储)的直方图。

  1. 将其与另一个堆转储进行比较

  1. 从列表中选择适当的堆转储

解释结果

类名:应用程序中实例化的类,占用内存

对象:类实例数量的计数高于或低于其他堆转储。

浅堆:给定类在其他堆转储上方或下方的内存中占用的字节数。

提示

由于MAT默认按降序排序,因此我建议切换对象浅堆列的顺序,以查看每个列在两个方向上的最大异常值。

通常您应该忽略纯Java类,如String、Array和Maps,而专注于您的应用程序定义的类。

引用

Comparing Objects Official Eclipse Help Doc

这篇关于Java:内存分析器工具(MAT)用法:比较两个堆转储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Java:内存分析器工具(MAT)用法:比较两个堆转储

基础教程推荐