Collecting diagnostics from Java runtime problems

The Diagnostics Collector produces an output file for each problem event that occurs 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 output .zip file is written to the current working directory by default. You can specify a different location by setting the output.dir property in the settings file, as described in Diagnostics Collector settings. An output .zip file name takes the form:
java.<event>.<YYYYMMDD.hhmmss.pid>.zip
In this file name, <event> is one of the following names: These event names refer to the event that triggered Diagnostics Collector. The name provides a hint about the type of problem that occurred. The default name is dumpevent, and is used when a more specific name cannot be given for any reason.

<YYYYMMDD.hhmmss.pid> is a combination of the time stamp of the dump event, and the process ID for the original Java application. pid is not the process ID for the Diagnostics Collector.

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. You can prevent Diagnostics Collector from running jextract by setting the property run.jextract to false in the settings file. For more information, see Diagnostics Collector settings.

The Diagnostics Collector logs its actions and messages in a file named JavaDiagnosticsCollector.<number>.log. The log file is written to the current working directory. The log file is also stored in the output .zip file. The <number> component in the log file name is not significant; it is added to keep the log file names unique.

The Diagnostics Collector is a Java VM dump agent. It is run by the Java VM in response to the dump events that produce diagnostic files by default. It runs in a new Java process, using the same version of Java as the VM producing dumps. This ensures that the tool runs the correct version of jextract for any system dumps produced by the original Java process.



© Copyright IBM Corporation 2005, 2010. All Rights Reserved.
© Copyright Sun Microsystems, Inc. 1997, 2007, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
This information center is powered by Eclipse technology. (http://www.eclipse.org/)