我试图使用Eclipse MAT解析11GB堆转储,并收到以下错误
An internal error occurred during: "Parsing heap dump"
我认为MAT无法解析如此巨大的堆转储。我阅读了一些帖子,并将VM配置增加到转储大小的80%以上。以下是我的vm配置
-vmargs -Xms8192m -Xmx10240m
我仍然无法加载转储。我尝试使用ParseHeapDump. bat没有任何更改…
继续增加Xmx
直到JVM抱怨,然后增加交换文件大小,然后再次增加Xmx
,等等。
在那个阶段,它将需要很长时间,因为它将使用磁盘作为RAM。
我最近在MacOSCatalina(10.15.3)上安装了Eclipse MAT(Eclipse Memory Analyzer版本1.9.1)。我需要查看4g堆转储。MAT的默认JVM堆大小是1024m。
我认为增加JVM堆大小的最简单方法是使用shell窗口-转到 /Applications/mat.app/Contents/Eclipse/文件夹。然后vi MemoryAnalyzer. ini并将-Xmx1024m更改为所需值,在我的例子中,我使用了-Xmx10g。
要查看更改,请重新启动MAT并转到帮助-
这个设置对我有用。
我最近还安装了Eclipse MAT来分析4.85GB
堆转储文件。
Eclipse Memory Analyzer Version: 1.11.0
MacOS Catalina: 10.15.7
Hardware Memory: 16GB
Heap dump file size: 4.85GB
Heap dump file type: PHD
Classes: 33.6k
Objects: 4.8m
Class Loader: 575
我将MemoryAnalyzer. ini
更改为14GB
,如下所示:
-vmargs
-Xmx14g
我还确认了如下配置:
帮助-
加载这个4.85堆转储文件需要几分钟。
注意:我尝试了2g、4g、8g、10g、12g的Xmx
设置失败,JVMEclipse MAT工具内存不足。