我有一个堆转储导致我的程序出现内存不足异常,堆转储的大小为 12GB,因此我无法在我的 MAT 分析器中加载它,我可以尝试哪些替代方案,或者是否有我可以将堆转储上传到 MAT。
问问题
55 次
1 回答
0
如果您的服务器具有大量可用内存,那么您可以在增加其堆大小后尝试在该服务器上运行 MAT。分配给 MAT 的内存越多,它的运行速度就越快。
在 MemoryAnalyzer.ini 文件中,您将获得 -Xmx 选项来更改 MAT 的最大堆大小。MAT 文档还建议禁用 GC 开销限制。
-vmargs
-Xmx18g
-XX:-UseGCOverheadLimit
您也可以尝试使用 ParseHeapDump 脚本以“无头”模式运行 MAT。还有其他工具,例如 visualvm ,但您需要为其分配几乎相同数量的内存来处理这个大型堆转储。
据我所知,MAT没有在线版本。还有其他在线选项是heaphero ,但在将堆转储上传到第三方站点时请小心,因为堆转储可能包含敏感信息。
于 2021-07-05T09:21:26.593 回答