5

我正在使用 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” 屏幕问题,但它有所不同,并没有解决我的问题。

4

5 回答 5

5

当我尝试加载大型堆转储并且磁盘空间不足(我假设视觉虚拟机使用临时文件)在 Mac 上运行时,也会出现这些症状。释放磁盘空间后,文件加载。

于 2015-12-07T09:17:01.763 回答
3

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

在此处输入图像描述

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

于 2016-11-30T21:38:14.157 回答
2

你可以尝试几件事:

  1. 与 JDK 1.6.0_24 捆绑在一起的 Java VisualVM 已经有好几年的历史了。尝试使用https://visualvm.github.io的最新版本。
  2. VisualVM 使用内存映射文件,因此您无需使用 3G 堆启动它。我将从 1G 堆开始。当您尝试打开堆转储时,您的操作系统有多少可用内存?
  3. VisualVM的右上角应该有进度条,它会显示堆加载的进度。这应该给你一个线索,它可能需要多长时间。
于 2014-03-27T08:32:29.343 回答
2

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

于 2018-04-26T12:52:46.320 回答
0

如果打开的文件不被认为是有效的堆转储,JvisualVM 也会卡在这个屏幕上。

在 MAT(来自 Eclipse)上打开相同的(无效)文件,发生错误:

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

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

不是 HPROF 堆转储

于 2019-01-14T19:56:00.543 回答