IBM provides tooling and documentation to assist in the understanding, monitoring, and problem diagnosis of applications and deployments running IBM Runtime Environments for Java.
The IBM Monitoring and Diagnostic Tools for Java - Diagnostics Collector is a tool that automatically gathers Java diagnostic information if the IBM Java VM detects a problem.
The Diagnostics Collector starts automatically when a running Java Virtual Machine detects a problem. It searches for diagnostics files produced by the Java Virtual Machine for the problem event and stores them in a zip file. If a system dump is present, the Diagnostics Collector runs jextract on the dump and collects the jextract output.
Use the Diagnostics Collector to:
The objective of the Diagnostics Collector tool is to make it easier for you to collect all the Java diagnostics files for a problem event.
Collecting diagnostics from Java runtime problems
The Diagnostics Collector produces an output file for problem events that occur in your Java application.
When you add the command-line option
-Xdiagnosticscollector, the Diagnostics Collector runs and produces several output .zip files. One file is produced at startup. Another file is produced for each dump event that occurs during the lifetime of the JVM. For each problem event that occurs in your Java application, one .zip file is created to hold all the diagnostics for that event. For example, an application might have multiple OutOfMemoryErrors but keep on running. Diagnostics Collector produces multiple .zip files, each holding the diagnostics from one OutOfMemoryError.
The Diagnostics Collector copies files that it writes to the output .zip file. It does not delete the original diagnostics information.
When the Diagnostics Collector finds a system dump for the problem event, then by default it runs jextract to post-process the dump and gather context information This information enables later debugging. Diagnostics Collector automates a manual step that is requested by IBM support on most platforms.
Verifying your Java diagnostics configuration
When you enable the command-line option
-Xdiagnosticscollector, a diagnostics configuration check runs at Java VM start up. The aim of the diagnostics configuration check is to avoid the situation where a problem occurs after a long time, but diagnostics are missing because they were inadvertently switched off. If the diagnostics configuration check detects any settings that disable key Java diagnostics, a warning is reported.
For extra thorough checking, the Diagnostics Collector can trigger a Java dump. The dump provides information about the command-line options and current Java system properties.
Checks for operating system settings are carried out on Linux® and AIX®. On Linux, the core and file size ulimits are checked. On AIX®, the settings
pre430core=false are checked, as well as the core and file size ulimits.
The minimum Java levels for Diagnostics Collector are IBM Java 5.0 or IBM Java 6.
The supported platforms for the Health Center agent are:
The Diagnostics Collector is available from the download page.