我使用以下命令使用 hprof 创建了一个堆转储文件:
java -agentlib:hprof -cp "..\..\jars\trove.jar;.\bin" com.mysite.MyApp
这成功创建了大约 5MB 的文件“java.hprof.txt”。然后我打开 jvisualvm 来查看该文件,并将其加载。但 Visualvm 似乎卡在加载屏幕上。下面的屏幕已经亮了大约 10 分钟。
我是不是漏掉了一步?我应该在 hprof 命令行上使用不同的选项吗?我如何读取这个堆转储文件?
最佳答案
VisualVM 支持二进制 HPROF 格式的堆转储。使用 VisualVM 创建堆转储更容易。如果无法使用 VisualVM,则可以使用 jmap -dump:live,format=b,file=heap.bin <pid>
。优点是您不需要任何特殊的启动参数,并且不会因 hprof 代理库而导致速度下降。
关于java - jvisualvm:卡在 "Loading Heap Dump"屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16461494/