分析大型Java堆转储 - 内存错误

时间:2016-02-12 12:05:33

标签: java memory heap-dump

我有一个非常奇怪的问题。我有一个30 GB的堆转储,我想在我的笔记本电脑上分析相同的内容(它有8 GB的RAM)。我尝试使用MAT和IBM Heap分析器,但根据他们的建议,Xmx大小应该大于转储大小。我还试图用MAT的heapDumpParser.bat文件分析堆转储但是收到了内存错误。

有关如何成功分析笔记本电脑上的转储的任何建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Memory Analyzer可能是分析内存不足问题的最佳工具,但它确实需要大量内存。

如果您无法找到足以运行以处理转储的计算机,则可以尝试使用IBM SDK附带的jdmpview命令行工具来执行一些基本调查。

最好使用内存不足而不是phd文件生成的核心转储,因为它不需要将内容加载到内存中。

您可以在jre / bin中找到它并需要运行:

jdmpview -core core_file_name

您应该首先运行命令:

info class

因为它将生成对象类型,实例计数和大小的基本列表。

这里有完整的文档: http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.win.80.doc/diag/tools/dump_viewer_dtfjview/dump_viewer.html