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

分析大型Java堆转储-内存错误,java,memory,heap-dump,Java,Memory,Heap Dump,我有一个非常奇怪的问题。我有一个30GB的堆转储,我想在我的笔记本电脑上分析它(它有8GB的RAM)。我尝试使用MAT和IBM Heap analyzer来实现这一点,但根据他们的建议,Xmx大小应该大于转储大小。我还尝试使用MAT的heapDumpParser.bat文件分析堆转储,但收到内存错误 关于如何成功分析笔记本电脑上的转储文件,有什么建议吗 提前谢谢 内存分析器可能是分析内存不足问题的最佳工具,但它确实需要大量内存 如果找不到足够大的机器来运行以处理转储,可以尝试使用IBMSDK附带

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

关于如何成功分析笔记本电脑上的转储文件,有什么建议吗


提前谢谢

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

如果找不到足够大的机器来运行以处理转储,可以尝试使用IBMSDK附带的jdmpview命令行工具来执行一些基本调查

它将与内存不足时生成的核心转储(而不是phd文件)一起工作,因为它不需要将内容加载到内存中

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

jdmpview -core core_file_name
您可能应该从运行以下命令开始:

info class
这将生成对象类型、实例计数和大小的基本列表

这里有完整的文档:

我不确定它是否真的适用于您,因为我没有将它用于如此大的文件,但仍然尝试YourKit profiler。谢谢,但YourKit profiler也面临同样的问题。系统在解析的35%后挂起(内存和CPU利用率高)。