jvisualvm:卡在“正在加载堆转储...”屏幕上

Kul*_*ain 5 java profiling visualvm hprof jvisualvm

我使用的是 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 question 但它是不同的并且没有解决我的问题。

小智 5

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


Tom*_*rka 2

您可以尝试以下几件事:

  1. 与 JDK 1.6.0_24 捆绑在一起的 Java VisualVM 已经有好几年了。尝试使用https://visualvm.github.io中的最新版本。
  2. VisualVM 使用内存映射文件,因此您不需要使用 3G 堆来启动它。我将从 1G 堆开始。当您尝试打开堆转储时,您的操作系统有多少可用内存?
  3. VisualVM的右上角应该有进度条,它会显示堆加载的进度。这应该可以让您了解需要多长时间。

  • 另请检查您是否确实可以打开 hprof 文件。将其从服务器复制到我的笔记本电脑后,我遇到了权限问题。Visualvm 错误处理很糟糕,它从不告诉任何事情。 (2认同)