jvisualvm:坚持“装载堆转储......”屏幕

时间:2014-03-11 06:40:31

标签: java profiling visualvm jvisualvm hprof

我使用的是jdk64,我的java版本是“1.6.0_24”。我的tomcat使用-Xmx7196m运行,jvisualvm运行-J-Xms2048m -J-Xmx3072m。 我对我的tomcat java进程进行了堆转储,我.hprof文件的大小约为5.5 GB。当我尝试打开这个堆转储时,它只是停留在Loading Heap Dump...屏幕上。

我还在尝试打开堆转储时查看了VisualVM的堆消耗,但这仅仅是500MB左右。

注意:我确实看过jvisualvm: Stuck on “Loading Heap Dump” screen问题,但它有所不同,并没有解决我的问题。

5 个答案:

答案 0 :(得分:4)

当我尝试加载大堆转储并且在Mac上运行时磁盘空间不足(我认为可视vm使用临时文件)时,也会出现这些症状。在我释放磁盘空间后加载了文件。

答案 1 :(得分:2)

您可以尝试以下几种方法:

  1. 与JDK 1.6.0_24捆绑在一起的Java VisualVM已有几年历史了。尝试使用http://visualvm.java.net中的最新版本(1.3.7)。
  2. VisualVM使用内存映射文件,因此您无需启动3G堆。我会从1G堆开始。当您尝试打开堆转储时,您的操作系统有多少可用内存?
  3. VisualVM右角应该有进度条,它会显示加载堆的进度。这应该可以告诉你可以花多长时间。

答案 2 :(得分:1)

我遇到了类似的障碍,但意识到有一个例外;很难发现:

enter image description here

我不知道它是否会一直显示错误(我使用v1.3.9)。

答案 3 :(得分:0)

我还注意到如果jvisualvm没有读取文件的权限,则没有反馈表明问题。 (Java 7)

答案 4 :(得分:0)

如果打开的文件不被视为有效的堆转储,则JvisualVM也将停留在此屏幕上。

在MAT中(从Eclipse)打开相同(无效)文件,会发生错误:

  

打开堆转储'heap.hprof'时出错。检查错误日志以获取更多详细信息。

     

不是HPROF堆转储(java.io.IOException)

     

不是HPROF堆转储