java - 如何使用 VisualVM 打开大型堆转储?

标签 java visualvm

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

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

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

是否需要使用任何特殊设置来打开这种大小的堆转储?

最佳答案

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

还需要增加MAT内存以打开那个大文件,您可以按以下方式执行此操作:

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

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

如果 MAT 无法打开堆文件,则该文件可能已损坏。

关于java - 如何使用 VisualVM 打开大型堆转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069213/

相关文章:

java - 使用 Query 读取 Firebase 数据库返回 null

java - 如何在 Selenium webdriver 和 Java API 中录制视频

spring-boot - VisualVm : cpu graph pannel show "Not supported for this JVM"

java - 在 EC2 上运行的 tomcat 8 上使用 VisualVM

java - 执行线程转储时的 VisualVM 堆栈变量值

java - 通过 syslog 发送 log4j2 堆栈跟踪

java - 如何检查两个单词是否是字谜

java - KeyStore.load() 之后 BufferedInputStream 将不起作用

java - 使用 VisualVM 检查已通过 -javaagent 启动的 java 应用程序

VisualVM如何使用 'JConsole Plugins Container'插件