issues in our production application running on BEA Jrockit JVM Release 27. This release of the JVM does not seem to support heap diagnostics options which can be used to generate heap dumps on occurrence of outofmemory error.
Could anyone please advise what other options can be used to generate heap dump for applications running on Jrockit R27 on occurrence of
Jrockit provides JRCMD utility which generates a heap diagnostics report but that is not of the same format as the typical HPROF format of heap dumps.
Follow us on facebook:
Joined: Mar 06, 2013
-XXdumpFullState - I think I would have to run it in default mode of "large" to get heap dump. As per documentation, it needs considerable disk space. Heap size for the JVM process is 1 GB. Would the size of the generated heap dump be around 1 GB?
Also this option is said to create dump only when "JVM" crashes. To use -XXdumpFullState then, would I also have to set "-XX:+CrashOnOutOfMemoryError" or "-XX:+ExitOnOutOfMemoryError"? Niether of the these 2 options seem to be supported for R27.1.
There is no support for generating HPROF heap dumps before R28. The only option you have if you absolutely need HPROF heap dumps is to upgrade to R28.
Thus, for instance, there is no way to get HPROF dumps on JRockit (any version) if using 1.4.2 classes, as JRockit R28 supports only JDK 5.0 and 6.
In latest version you can use
JRCMD <pid> heap_diagnostics
jrcmd <pid> help print_object_summary
%JROCKIT_HOME%\bin\jrcmd <pid of target JVM> hprofdump filename=<full path name to the target dump file name>
JRA or JFR are pretty cool tools, but these are NOT the tools of choice to troubleshoot an OutOfMemoryError condition.
hprofdump: This feature dumps some image of the heap at one point in time, enabling remote or later analysis of the memory leak.From this dump, that you can analyze using tools such as "jhat" (provided with the JVM) or "Eclipse MAT" (where MAT stands for "Memory Analyzer Tool"), you can retrieve why a particular set of objects remain live in the heap.