【问题标题】:jvisualvm: Stuck on "Loading Heap Dump" screenjvisualvm:卡在“加载堆转储”屏幕上
【发布时间】:2013-05-09 12:11:37
【问题描述】:

我使用以下命令使用 hprof 创建了一个堆转储文件:

java -agentlib:hprof -cp "..\..\jars\trove.jar;.\bin" com.mysite.MyApp

这成功创建了大约 5MB 的文件“java.hprof.txt”。然后我打开 jvisualvm 来查看这个文件,并把它加载进去。但是 visualvm 似乎卡在加载屏幕上。下面的屏幕已经启动了大约 10 分钟。

我错过了一步吗?我应该在 hprof 的命令行上使用不同的选项吗?如何读取这个堆转储文件?

【问题讨论】:

    标签: java visualvm jvisualvm hprof


    【解决方案1】:

    VisualVM 支持二进制 HPROF 格式的堆转储。使用 VisualVM 创建堆转储更容易。如果这不可能使用 VisualVM,您可以使用jmap -dump:live,format=b,file=heap.bin <pid>。优点是不需要任何特殊的启动参数,也不会因为 hprof 代理库而导致速度变慢。

    【讨论】:

      【解决方案2】:

      就我而言,我通过更改 heapdump 文件的文件权限解决了这个问题。结果 VisualVM 试图加载文件但权限被拒绝(这很奇怪,因为 VisualVM 是创建转储文件的那个),但是 VisualVM 不会给你错误消息。我已经下载了 eclipse 内存分析器 (https://www.eclipse.org/mat/downloads.php)。它给了我一条错误消息。

      【讨论】:

        猜你喜欢
        • 2014-04-14
        • 1970-01-01
        • 2016-09-25
        • 1970-01-01
        • 2019-10-18
        • 1970-01-01
        • 1970-01-01
        • 2022-10-18
        • 2022-11-29
        相关资源
        最近更新 更多