HEAP DUMP 太大,无法在 Eclipse MAT 中打开

HEAP DUMP too big to open in Eclipse MAT

我有一个堆转储导致我的程序出现内存不足异常,堆转储的大小为 12GB,因此我无法将它加载到我的 MAT 分析器中,我可以尝试哪些替代方案,或者有什么方法可以将堆转储上传到 MAT。

如果您的服务器有大量可用内存,那么您可以在增加其堆大小后尝试在该服务器上 运行 MAT。分配给 MAT 的内存越多,它运行的速度就越快。

在 MemoryAnalyzer.ini 文件中,您将获得 -Xmx 选项来更改 MAT 的最大堆大小。 MAT documentation 还建议禁用 GC 开销限制。

-vmargs
-Xmx18g
-XX:-UseGCOverheadLimit

您也可以尝试使用 ParseHeapDump 脚本在“无头”模式下 运行 MAT。还有其他工具,例如 visualvm 但是您需要为其分配几乎相同数量的内存来处理这个大型堆转储。

据我所知,MAT没有网络版。还有一个在线选项是 heaphero 但是在将堆转储上传到第三方站点时请小心,因为堆转储可能包含敏感信息