Heapdump文件要分析的最佳格式是什么?是hprof吗?

时间:2014-12-16 07:14:30

标签: java heap-dump

我被分配在生产环境中找到Full GC问题(垃圾收集器)的根本原因。它是随机发生的,我认为最可能的情况是当前应用程序中存在的内存泄漏。我希望从我们的生产环境(linux)中获取内存转储,并使用Eclipse Memory Analyzer等GUI工具进行分析。

要分析的堆转储文件的最佳文件格式是什么?它是hprof格式吗?我将使用jmap命令获取堆转储。是否有必要指定" format = b"获取内存转储时的选项?

以下是一个示例命令,我将指示我们的支持团队运行。 (5980是样本pid)。

如果您相信任何更好的方法,请告诉我。

jmap -dump:format=b,file=hpdump.hprof 5980

由于

2 个答案:

答案 0 :(得分:1)

命令似乎很好。是的,很少有其他工具可用于分析堆转储。 请参阅this

答案 1 :(得分:0)

我无法将堆转储文件作为生产环境中的空间限制。分析直方图文件也让我无处可去。相反,我能够找到GC日志分析工具,IBM GCMV 这有助于分析导致完整GC问题的一年中某些确定日期的GC日志。

GC日志的绘制图表显示了整个故事。在每种情况下都可以观察到内存消耗的急剧上升,并且从某个事件开始就只需要不到10分钟即可达到最大内存。我计算了初始上升点的时间戳,并与相应时间戳的服务器日志进行了比较。这提供了强有力的证据,表明当上升开始时,服务器日志中经常出现的某些特定进程很少。