【问题标题】:How do you open large heap dumps using VisualVM?如何使用 VisualVM 打开大型堆转储?
【发布时间】:2014-05-28 22:49:54
【问题描述】:

我使用 VisualVM 创建了一个堆转储。生成的.hprof 文件大约为 6GB。

当我尝试在 VisualVM 中加载文件时,它卡在 50%。卡住时,我正在使用的计算机上似乎没有消耗额外的资源。 CPU 很安静,只有大约一半的可用内存在使用,并且没有报告任何 IO。

jvisualvm: Stuck on “Loading Heap Dump” screen 提出了类似的问题,但唯一的答案是建议通过 VisualVM 创建.hprof 文件(我已经这样做了)。

我需要使用什么特殊设置来打开这种大小的堆转储吗?

【问题讨论】:

标签: java visualvm


【解决方案1】:

我建议你用MAT Eclipse Memory Analyzer打开它,它是分析这种堆转储文件的强大工具,除了它是分析堆文件的常用方法。

另外你需要增加MAT 内存才能打开那个大文件,你可以这样做:

  1. 打开位于 MAT_HOME 目录中的config.ini 文件。
  2. -Xmx的值更改为大于6GB

以上链接还包含如何使用MAT的教程。

如果MAT 不会打开堆文件,那么该文件可能已损坏。

【讨论】:

  • 感谢您的建议。我去看看。
  • 试用后你会再次感谢我的,它真的很强大且易于使用:)
  • MAT 不会打开我的 .hprof 文件。它认为文件已损坏。也许这与 VisualVM 不会打开它的原因相同。
  • 是的,文件已损坏。
  • 在 Mac 上,我需要编辑 /Applications/mat.app/Contents/Eclipse/MemoryAnalyzer.ini 以增加内存。
猜你喜欢
  • 2021-01-02
  • 1970-01-01
  • 2017-10-31
  • 2012-01-08
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多