[MAT]使用MAT比较多个heap dump文件

使用MAT比较多个heap dump文件

调试内存泄露时,有时候适时比较2个或多个heap dump文件是很有用的。这时需要生成多个单独的HPROF文件。

下面是一些关于如何在MAT里比较多个heap dumps的内容(有一点复杂):

1.     第一个HPROF 文件(usingFile > Open Heap Dump ).

2.     打开Histogram view.

图1. Histogram View按钮

3.     在NavigationHistory view里 (如果看不到就从Window > Navigation History找 ), 右击histogram然后选择Add to Compare Basket .

4.     打开第二个HPROF 文件然后重做步骤2和3.

5.     切换到Compare Basket view, 然后点击Compare the Results (视图右上角的红色"!"图标)。

图2. 对比分析结果

如上,结果图中,Objects #1所代表的weak.create.hprof比Objects#0所代表的main.hporf多出了一个WeakReferencesActivity;Objects #2更是多出10000个WFObject对象出来,结果很明显。

本文属sodino原创,发表于博客:http://blog.csdn.net/sodino,转载请注明出处。

相关代码可以从QQ群Code2Share(363267446)中的群文件中下载。

[MAT]使用MAT比较多个heap dump文件

时间: 2024-10-15 03:01:53

[MAT]使用MAT比较多个heap dump文件的相关文章

[MAT]使用MAT比較多个heap dump文件

使用MAT比較多个heap dump文件 调试内存泄露时,有时候适时比較2个或多个heap dump文件是非常实用的.这时须要生成多个单独的HPROF文件. 以下是一些关于怎样在MAT里比較多个heap dumps的内容(有一点复杂): 1.     第一个HPROF 文件(usingFile > Open Heap Dump ). 2.     打开Histogram view. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29kaW5v/fon

[Android]生成heap dump文件(.hprof)

Android生成heap dump文件(.hprof) 一个heap dump就是一个程序heap的快照,可以获知程序的哪些部分正在使用大部分的内存. 它保存为一种叫做HPROF的二进制格式.对于Android执行android.os.Debug.dumpHprofData(hprofPath)方法后所生成的文件,需要把.hprof文件从Dalvik格式转换成J2SE HPROF格式.使用AndroidSDK提供的hprof-conv工具可执行该转换操作. hprof-conv dump.hp

Java Heap dump文件分析工具jhat简介

jhat 是Java堆分析工具(Java heap Analyzes Tool). 在JDK6u7之后成为标配. 使用该命令需要有一定的Java开发经验,官方不对此工具提供技术支持和客户服务. 用法: jhat [ options ] heap-dump-file 参数: options 可选命令行参数,请参考下面的 Options heap-dump-file 要查看的二进制Java堆转储文件(Java binary heap dump file). 如果某个转储文件中包含了多份 heap d

java程序性能分析之thread dump和heap dump

转自:https://www.cnblogs.com/toSeeMyDream/p/7151635.html 一.dump基本概念 在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题.这些文件记录了JVM运行期间的内存占用.线程执行等情况,这就是我们常说的dump文件.常用的有heap dump和thread dump(也叫javacore,或java dump).我们可以这么理解:heap dump记录内存信息的,thread dump是记

使用VisualVM查看Java Heap Dump

浏览Heap Dump 可以使用VisualVM浏览heap dump文件的内容,从而快速查看在堆中分配的对象.Heap dumps在主窗口的heap dump子标签页中显示.你可以打开保存在本地的heap dump文件(.hprof)或者使用VisualVM捕获正在运行的程序的heap dumps. 一个heap dump是Java虚拟机(JVM)在某一时刻所有对象的快照.JVM从堆中为所有的类实例和数组分配内存.当一个对象不再被使用并且没有对它的引用时,垃圾回收器回收其堆内存.通过查看堆,你

[JAVA]JAVA章3 如何获取及查看DUMP文件

一.dump基本概念 在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题.这些文件记录了JVM运行期间的内存占用.线程执行等情况,这就是我们常说的dump文件.常用的有heap dump和thread dump(也叫javacore,或java dump).我们可以这么理解:heap dump记录内存信息的,thread dump是记录CPU信息的. heap dump: heap dump文件是一个二进制文件,它保存了某一时刻JVM堆中对象

eclipse MAT分析heap dump

官方参考文档:http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Ftasks%2Fanalyzingthreads.html 代码 /** * -XX:+PrintGC -Xloggc:gc.log * * VM args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError */ public class HeapOOM { static class OO

学习jvm,关于MAT an internal error occurred during:"Parsing heap dump" from问题

写了一个死循环不断的创建对象,模拟内存溢出 1 package com.zuo.test1; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class Main { 7 8 public static void main(String[] args) { 9 List<Demo> demos=new ArrayList<>(); 10 while(true){ 11 demos.add(new

转:Java - Heap Dump, Thread Dump and Core Dump

Dump 就是对程序运行时内存上的信息进行转储, 让我们可以查看程序当时的运行情况. Dump 对于调优和排错是非常有用的工具. Heap Dump Java 运行时对象分配在堆内存上, Heap dump 就是对堆内存进行转储. 生成 Heap dump 的生成有两种方式: 1) 运行 Java 程序时添加 -XX:+HeapDumpOnOutOfMemoryError 选项, 这样当程序发生 Out of Memory 错误时就会自动生成一份 Heap dump. 2) 使用 jmap 工具