Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:内存分析器工具(MAT)用法:比较两个heapdump_Java_Profiling - Fatal编程技术网

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

Java:内存分析器工具(MAT)用法:比较两个heapdump,java,profiling,Java,Profiling,我正在使用Eclipse+MAT插件。我可以看到一个.hprof文件堆历史记录,我为我的Java应用程序拍了两张快照。我希望当我比较两个堆转储时,我能找出哪些对象实例增加了很多,以便识别内存泄漏的可能性 netbean可以做到吗?可以做到。看 基本上,您可以同时打开这两个按钮,然后在柱状图中有一个额外的按钮(最右边的按钮)进行比较。说明 在中打开两个堆转储 打开显示异常行为的堆转储的直方图(通常是内存或线程使用率较高的堆转储) 将其与另一个堆转储进行比较 从列表中选择适当的堆转储 解释结果

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

netbean可以做到吗?

可以做到。看

基本上,您可以同时打开这两个按钮,然后在柱状图中有一个额外的按钮(最右边的按钮)进行比较。

说明
  • 在中打开两个堆转储
  • 打开显示异常行为的堆转储的直方图(通常是内存或线程使用率较高的堆转储)
  • 将其与另一个堆转储进行比较
  • 从列表中选择适当的堆转储
  • 解释结果

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

    对象:在其他堆转储之上或之下存在的类实例的数量

    浅堆:给定类在另一堆转储之上或之下的内存中占用的字节数

    提示 由于MAT在默认情况下按降序排序,我建议切换对象和浅堆列的顺序,以查看两个方向上每个列的顶部异常值

    通常,您应该忽略纯Java类,如字符串、数组和映射,而关注应用程序定义的类

    参考文献

    此处已回答问题的副本:可能的副本