jvisualvm: Stuck on “Loading Heap Dump…” screen

2019-06-26 02:05发布

问题:

I am using jdk64 and my java version is "1.6.0_24". My tomcat is running with -Xmx7196m, and jvisualvm is running with -J-Xms2048m -J-Xmx3072m. I took a heap dump of my tomcat java process and size of my .hprof file is around 5.5 GB. When I try to open this heap dump, it just stuck on Loading Heap Dump... screen.

I also looked at the heap consumption of VisualVM while it is trying to open the heap dump, but that goes around 500MB only.

NOTE: I did look at jvisualvm: Stuck on “Loading Heap Dump” screen question but it is different and does not address my question.

回答1:

These symptoms also occured when I tried to load a large heap dump and had low disk space ( I assume for temporary file use by visual vm), running on a Mac. After I freed up diskspace the file loaded.



回答2:

You can try several things:

  1. Java VisualVM in bundled with JDK 1.6.0_24 is several years old. Try to use latest version (1.3.7) from http://visualvm.java.net.
  2. VisualVM uses memory-mapped files so you don't need to start it 3G heap. I would start with 1G heap. How much free memory does have your OS when you try to open the heap dump?
  3. There should be progress bar in the right corner of VisualVM, which will show you the progress of loading of the heap. This should give you a clue how long it can take.


回答3:

I hit a similar snag but realized that there was an exception; it can be hard to spot:

I don't know whether it will always displays an error like that (I'm using v1.3.9).



回答4:

I also noticed if jvisualvm doesn't have permission to read the file, then there is no feedback indicating the problem. (Java 7)



回答5:

If the opened file is not considered a valid heap dump, the JvisualVM will also be stuck on this screen.

Opening the same (invalid) file on MAT (from Eclipse), the error happens:

Error opening heap dump 'heap.hprof'. Check the error log for further details.

Not a HPROF heap dump (java.io.IOException)

Not a HPROF heap dump