java - jvisualvm:卡在“加载堆转储”屏幕上

原文 标签 java visualvm jvisualvm hprof

我使用以下命令使用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 - EJB应用程序的Java Profiler

centos - 在CentOS上安装jvisualvm

java - 如何与探查器同时启动Java应用程序?

java - 关于线程和JVisualVM

java - HttpClient / BufferedReader返回乱码

java - 无法连接到远程JMX主机

java - Java新手,找不到符号错误

java - 无法在VisualVM的堆转储中访问StringBuilder的值

java - 窗口是从屏幕上绘制出来的Java程序

java - 在单表的日期,整数和字符串数据类型字段上执行多列搜索?