我正在分析OutOfMemory问题。当我在MAT中打开它时,我获得了800 MB(.hprof文件)的转储,它显示堆大小为53.2 MB,如下所示
我在Java VisualVM中打开了相同的转储,我看到堆大小约为769 MB
Date taken: Tue Mar 18 05:25:59 IST 2014 File: C:\Users\ABC\Desktop\Memory\MemoryDump.hprof File size: 789.1 MB Total bytes: 768,683,549 Total classes: 9,288 Total instances: 7,081,010 Classloaders: 2,924 GC roots: 2,496 Number of objects pending for finalization: 0
我读了一个article,显示MAT跳过无法访问的对象,因此没有报告确切的堆大小。
VisulaVM的总字节数在此处显示:堆大小或(堆+非堆大小)或其他任何内容?
答案 0 :(得分:0)
Total Bytes
是堆转储中所有对象大小的总和。
答案 1 :(得分:0)
Eclipse MAT删除了JVM中GC无法访问的对象和其他垃圾。阅读更多:
http://wiki.eclipse.org/MemoryAnalyzer/FAQ#Problems_Interpreting_Results