2 JRockit Mission Control Client

This chapter describes various tools provided with JRockit Mission Control Client.

The Oracle JRockit Mission Control tools suite includes tools to monitor, manage, profile, and eliminate memory leaks in your Java application without introducing the performance overhead normally associated with these types of tools.

This chapter contains information on the following subjects:

2.1 Architectural Overview of JRockit Mission Control Client

This section describes what transpires during a typical JRockit Mission Control Client session.

2.1.1 The Flight Recorder

When a flight recording is started from within the JRockit Mission Control Client, it records the status of the JRockit JVM process during the specified time period. The Flight Recorder then creates a file containing the recorded data. The recording file is automatically opened in the JRockit Flight Recorder tool upon completion of the recording, valid for JDK level 1.5 and later. Typical information that is recorded includes Java heap distribution, garbage collections, method samples, thread latency, and lock profiling information."

2.1.2 The Management Console

To view real-time behavior of your application and of Oracle JRockit JVM, you can connect to an instance of the JRockit JVM and view real-time information through the JRockit Management Console. Typical data that you can view is thread usage, CPU usage, and memory usage. All graphs are configurable and you can both add your own attributes and redefine their respective labels. In the Management Console you can also create rules that trigger on certain events, for example, an mail will be sent if the CPU reaches 90% of the size.

2.1.3 The JMX Agent

With the JMX Agent you have access to all MBeans deployed in the platform MBean server. From these MBeans, you can read attribute information, such as garbage collection pause times.

2.1.4 The Memory Leak Detector

To find memory leaks in your Java application, you connect the JRockit Memory Leak Detector to the running JRockit JVM process. The Memory Leak Detector connects to the JMX (RMP) Agent that instructs to start a Memory Leak server where all further communication takes place.

2.2 Starting JRockit Mission Control

The JRockit Mission Control Client executable is located in JAVA_HOME/bin. If this directory is on your system path, you can start the JRockit Mission Control Client by simply typing jrmc in a command (shell) prompt.

  • On Windows: JAVA_HOME\bin\jrmc.exe

  • On Linux: JAVA_HOME/bin/jrmc

2.3 The JRockit Browser

The JRockit Browser was introduced in JRockit Mission Control 2.0. This tool allows you to set up and manage all running instances of JRockit JVM on your system. From the JRockit Browser you activate different tools, such as starting a flight recording, connecting a Management Console, and starting memory leak detection. Each JRockit JVM instance is called a Connector.

2.4 The JRockit Management Console

The JRockit Management Console is used to monitor a JRockit JVM instance. Several Management Consoles can be running concurrently side by side. The tool captures and presents live data about memory, CPU usage, and other runtime metrics. For the Management Console that is connected to JRockit JDK 5.0, information from any JMX MBean deployed in the Oracle JRockit JVM internal MBean server can be displayed as well. For a Console connected to Oracle JRockit JDK 1.4, RMP capabilities are exposed by a JMX proxy. JVM management includes dynamic control over CPU affinity, garbage collection strategy, memory pool sizes, and more.

2.5 The JRockit Flight Recorder

The JRockit Flight Recorder is a performance monitoring and profiling tool that makes diagnostics information always available, even in the wake of catastrophic failure, such as a system crash. At its most basic, JFR is a rotating buffer of diagnostics and profiling data that is always available, on demand. You might consider it a sort “time machine” that enables you to go back in time to gather diagnostics data leading up to an event. The data stored in the rotating buffer includes JVM and application events.

In JRockit Mission Control Client, the Flight Recorder allows users who are running a Flight Recorder-compliant version of the Oracle JRockit JVM (that is, version R28.0.0 or later) to view the JVM's recordings, current recording settings, and runtime parameters on a series of tabs that aggregate performance data into logical, task-based groups. The data on these tabs is presented by way of an assortment of dials, chart, and tables. At the top of each tab is a sliding window, called the Range Navigator, with which you can expand or narrow the range of reporting; for example, if you see a group of events clustered around a specific time period, you can adjust the Range Navigator to include just those events, with the resulting data for just those events appearing on the tab components.

For information on the Flight Recorder run time component, see the Flight Recorder Run Time Guide on the Oracle Technology Network.

2.6 The JRockit Memory Leak Detector

The JRockit Memory Leak Detector is a tool for discovering and finding the cause for memory leaks in a Java application. The JRockit Memory Leak Detector's trend analyzer discovers slow leaks, it shows detailed heap statistics (including referring types and instances to leaking objects), allocation sites, and it 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 the sometimes complex information.