|Oracle® JRockit JDK Tools Guide
|PDF · Mobi · ePub|
This chapter provides an overview of the following Oracle JRockit JDK tools and features that you can use to identify and resolve problems when running an application on the JVM.
Verbose logs can be enabled and configured by using the
-Xverbose command-line option. These logs provide low-overhead, run-time information on various aspects of the JRockit JVM (for example, memory management and code optimizations). You can use the information in the verbose logs for monitoring, tuning, and diagnostics.
Chapter 2, "Understanding Verbose Output", describes some of the useful verbose modules and how to interpret their output.
Thread dumps, described in Chapter 3, "Using Thread Dumps", are snapshots of the state of all threads that are part of the process. These dumps reveal information about an application's thread activity, which can help you diagnose problems and optimize the performance of the application and the JVM.
Diagnostic commands enable you to communicate with a running Oracle JRockit JVM process. As described in Chapter 4, "Running Diagnostic Commands", these commands tell the JRockit JVM to perform tasks such as printing a heap report or a garbage collection activity report, or to enable a specific verbose module.
The TZUpdater tool updates the installed JDK/JRE images with more recent time zone data to accommodate the U.S. 2007 daylight saving time changes (US2007DST) established in the U.S. Energy Policy Act of 2005.
Oracle recommends using the latest Oracle JRockit JDK release as the preferred method for delivering both time zone data updates and other product improvements, such as security fixes. If you are unable to use the latest JRockit JDK release, this tool provides a way to update time zone data while leaving other system configurations unchanged.
TZUpdater (version 1.3.33 and above) supports Oracle JRockit JDK. For more information about TZUpdater, see the TZUpdater documentation on the Oracle Technology Network at:
You can download the TZUpdater tool from:
In addition to the tools supplied in the JDK, Oracle JRockit includes a suite of monitoring, management, and analysis tools called the JRockit Mission Control Client.
This suite of tools helps you monitor, manage, profile, and eliminate memory leaks in your Java application without undue performance overhead. The performance overhead of the JRockit Mission Control Client is low because it uses data that is collected as part of the JRockit JVM's adaptive dynamic optimization. This also eliminates the problem with the Heisenberg anomaly that can occur when tools using byte code instrumentation alter the execution characteristics of the system.
The JRockit Mission Control Client features can be available on-demand, and the small performance overhead occurs only while the tools are running.
The JRockit Mission Control Client consists of the following tools, which are also available as plug-in applications for Eclipse:
The JRockit Browser enables you to set up and manage all running instances of the JRockit JVM on your system. From the JRockit Browser, you can activate different tools, such as starting a flight recording from the JRockit Flight Recorder, connecting to a Management Console, and starting memory leak detection.
The JRockit Management Console is used to monitor a JRockit JVM instance. Several Management Consoles can be running concurrently. The console captures and presents active data about memory usage, CPU usage, and other run-time metrics.
On a JRockit Management Console connected to JRockit JVM 5.0 and 6, information from any JMX MBean deployed in the Oracle JRockit JVM internal MBean server also can be displayed.
On a console connected to Oracle JRockit JVM 1.4, RMP capabilities are exposed by a JMX proxy.
The JRockit Flight Recorder is a performance monitoring and profiling tool that makes diagnostic information available, even following catastrophic failure, such as a system failure. The Flight Recorder is a rotating buffer of diagnostic and profiling data that is available on-demand. Like its aeronautic namesake, the Flight Recorder provides an account of events leading up to a system (or application) failure. Whenever a Java application running on Oracle JRockit is started with the Flight Recorder enabled, data is constantly collected in the Flight Recorder or its buffers. In the event of a system failure, the content of this recording can be transferred to a file and used to analyze what went wrong: a JVM crash, an unexpected application termination, or a power failure.
Data displayed by the Flight Recorder GUI is collected by the Flight Recorder Run Time component, which is part of the Oracle JRockit JVM. For more information about the Flight Recorder Run Time component, see Oracle JRockit Flight Recorder Run Time Guide.
Flight recordings are displayed in the Flight Recorder GUI, which is part of the JRockit Mission Control Client. It enables users who are running a Flight Recorder-compliant version of Oracle JRockit (that is, release R28.0 or later) to view the JVM's recordings, the current recording settings, and the run time parameters. The GUI consists of a series of tabs that aggregate performance data into logical groupings.
The Flight Recorder replaces the JRockit Runtime Analyzer (JRA) that was provided with earlier releases of the JRockit Mission Control Client.
The JRockit Memory Leak Detector helps you discover memory leaks in a Java application and determine their cause. The JRockit Memory Leak Detector's trend analyzer discovers slow leaks, shows detailed heap statistics (including referring types and instances to leaking objects) and allocation sites, and provides a quick drill down to the cause of the memory leak. The Memory Leak Detector uses advanced graphical presentation techniques to make it easier to navigate and understand complex information.
Comprehensive online help is included in the product for all of the tools described in this document. In addition, the Introduction to Oracle JRockit Mission Control Client document, which is available on the Oracle Technology Network, provides introductory information about configuration and set up, communication protocols, and use cases.