Diagnostics tools are available to help you solve your
problems.
Note: JVMPI is now a deprecated interface, replaced by JVMTI.
Using dump agents
Dump agents are set up during JVM initialization. They
enable you to use events occurring in the JVM, such as Garbage Collection,
thread start, or JVM termination, to initiate dumps or to start an external tool.
Using Javadump
Javadump produces files that contain diagnostic information related to the JVM and a Java™ application captured at a point during execution. For example, the information can be about the operating system, the application environment, threads, stacks, locks, and memory.
Using Heapdump
The term Heapdump describes the IBM® Virtual Machine for Java mechanism
that generates a dump of all the live objects that are on the Java heap;
that is, those that are being used by the running Java application.
Using system dumps and the dump viewer
The JVM can generate native system dumps, also known as
core dumps, under configurable conditions. System dumps are typically
quite large. Use the gdb tool to analyze a
system dump on Linux®.
Tracing Java applications and the JVM
JVM trace is a trace facility that is provided in all IBM-supplied
JVMs with minimal affect on performance. In most cases,
the trace data is kept in a compact binary format, that can be formatted
with the Java formatter that is supplied.
JIT and AOT problem determination
You can use command-line options to help diagnose JIT and
AOT compiler problems and to tune performance.
The Diagnostics Collector
The Diagnostics Collector gathers the Java diagnostics files for a problem event.
Shared classes diagnostics
Understanding how to diagnose problems that might occur
will help you to use shared classes mode.
Using the JVMTI
JVMTI is a two-way interface that allows communication
between the JVM and a native agent. It replaces the JVMDI and JVMPI
interfaces.
Using the Diagnostic Tool Framework for Java
The Diagnostic Tool Framework for Java (DTFJ)
is a Java application programming interface (API)
from IBM used to support the building of Java diagnostics tools. DTFJ works with data
from a system dump or a Javadump.