Java Dump

Java Virtual Machines (JVMs) can create "javadump" or "javacore", which collects diagnostic information related to the JVM and Java applications.

During the run time of a Java™ process, some Java virtual machines (JVMs) might not respond predictably and might seem to hang up for a long time or until a JVM shutdown occurs. It is not easy to determine the root cause of these problems.

By triggering a javacore when a Java process does not respond, you might be able to collect diagnostic information that is related to the JVM and a Java application captured at a particular point. For example, the information can be about the operating system, the application environment, threads, native stack, locks, and memory. The exact contents depend on the platform on which the application is running.

On some platforms, and in some cases, a javacore is known as a "javadump." The code that creates a javacore is part of the JVM. You can control it by using environment variables and runtime switches. By default, a javacore occurs when the JVM terminates unexpectedly. A javacore can also be triggered by sending specific signals to the JVM. Although a javacore or javadump is present in Oracle JVMs, much of the content of a javacore is added by IBM® and, therefore, is present only in IBM JVMs.

The IBM Thread and Monitor Dump Analyzer for Java analyzes javacore and diagnoses monitor locks and thread activities to identify the root cause of hangs, deadlocks, and resource contention or monitor bottlenecks.