jvisualvm:停留在“正在加载堆转储”屏幕(jvisualvm: Stuck on “Load

2019-09-02 09:06发布

我创建了一个堆转储文件,HPROF使用这个命令:

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

这成功地创建这是5MB左右的文件“java.hprof.txt”。 然后我打开了jvisualvm要查看此文件,并加载它。但VisualVM的似乎被卡在载入画面。 屏幕下方已经运行了大约10分钟吧。

我错过了一步? 我应该有HPROF在命令行中使用不同的选项? 我怎么能看这种堆转储文件?

Answer 1:

VisualVM的支持二进制格式HPROF堆转储。 它更容易使用VisualVM的创建堆转储。 如果这是不可能的使用VisualVM的,你可以使用jmap -dump:live,format=b,file=heap.bin <pid> 其优点是,你不需要任何特殊的启动参数并没有慢下来的HPROF代理库造成的。



Answer 2:

就我而言,我已经改变堆转储文件的文件权限解决了这个问题。 原来的VisualVM试图加载该文件,但权限被拒绝(这是奇怪的,因为VisualVM的是一个创建转储文件),但VisualVM的不给你的错误信息。 我已经下载了Eclipse内存分析器( https://www.eclipse.org/mat/downloads.php )。 它给了我一个错误信息。



文章来源: jvisualvm: Stuck on “Loading Heap Dump” screen