Java Mission Control (JMC) 5.2 Release Notes

Documentation


Java Mission Control (JMC) is a commercial feature available for Java users with a Commercial License.

 

The JDK 7 update 40 release includes the first release of Java Mission Control (JMC) that is bundled with the Hotspot JVM.


JMC with JDK

 

New Features


Several new and improved features are available in this release:

New JVM Browser

The JVM Browser now have subnodes for available server side services that show the state of services. The new JVM Browser can be viewed in two different modes; as a flat list, and as a tree.

JMC JVM browser

 

Eclipse 3.8/4.2 support

The Mission Control client is now built to run on Eclipse 3.8.2/4.2.2 and later.

Improved MBean Browser

It is now possible to edit values for settable attributes directly in the attribute tree. Notifications in the notifications tab can now be expanded to more than one.

JMC MBean Browser

 

Java Flight Recorder (JFR)

Event Convergence with JRockit; the same useful information that was provided by JRockit VM is now also available from Hotspot VM.

JMC Flight Recorder

 

To enable JFR, use the following option with java command:

     -XX:+UnlockCommercialFeatures

There are also three new JFR options for the java command:

    -XX:+|-FlightRecorder 
    -XX:+|-StartFlightRecording 
    -XX:FlightRecorderOptions=parameter=value 

These options are described in Java Command Reference (Solaris and Linux) and Java Command Reference (Windows).

Method Profiling Events

This is a new feature in this release:

JMC method profiling

Other features such as allocation profiling, latency analysis, thread graph (providing an over view of running threads) have been added or improved.

New templates and a new Template Manager have also been added.

JMC templates

JMC template manager

 

DTrace Plug-In


DTrace Plug-in is only available for JDK running on Solaris, but client can run on JMC platforms.

To install DTrace plug-in in the stand alone version of Mission Control, use Help | Install New Software... option from the menu.

JMC dtrace plugin

 

Limitations


JMC does not include or run with a security manager, so a user must ensure to run the JMC client in a secure environment.

Known Issues

  • On Mac OS X platform, if the JDK is installed in a location containing spaces, it is not possible to launch Java Mission Control (JMC) using the jmc launcher in bin, or the Java Mission Control app. The workaround is to either change to a location without spaces, or launch JMC using the following:

    java -XstartOnFirstThread -Djava.net.preferIPv4Stack=true
    -Dorg.eclipse.swt.internal.carbon.smallFonts -jar <JAVA_HOME>/lib/missioncontrol/mc.jar -ws cocoa

  • The Java Flight Recorder consumes a lot of graphics device interface (GDI) resources. When multiple recordings are opened, the user might run out of GDI resources, which can lead to recordings showing incorrect data (new recordings will render the data from the last visited recording tabs). To avoid this issue, do not open more than three recordings simultaneously.

  • An exception without any useful info is thrown when you try to attach to a 32-bit JVM from a 64-bit JMC.

  • On some Linux distributions (for example, Ubuntu 11.04 and later) the welcome screen is blank.

  • Localization Issues:

    Some of strings in the UI that are provided by Eclipse, cannot be processed by JMC localization. To obtain the full Japanese and Chinese language packs, the user needs to install "Babel" (a set of localization tools for Eclipse projects) using the p2 Director command line application in JMC.

    • To add Japanese support from Babel, run the following command:

      jmc -nosplash -application org.eclipse.equinox.p2.director
      -r http://download.eclipse.org/technology/babel/update-site/R0.10.1/juno
      -i org.eclipse.babel.nls_eclipse_ja.feature.group

    • To add Chinese support from Babel, run the following command:

      jmc -nosplash -application org.eclipse.equinox.p2.director
      -r http://download.eclipse.org/technology/babel/update-site/R0.10.1/juno
      -i org.eclipse.babel.nls_eclipse_zh.feature.group

    If you are behind a proxy, download the p2 repository ZIP file using a web browser with a working proxy configuration. Then run the command above, replacing the repository URL with the jar:file: URL of the downloaded ZIP file and a "!/juno/" suffix. See the following examples:

    • On Windows, to install Japanese support from the p2 repository downloaded to C:\temp directory, run the following command:

      jmc -nosplash -application org.eclipse.equinox.p2.director
      -r jar:file:/C:/temp/babel-R0.10.1-juno.zip!/juno/
      -i org.eclipse.babel.nls_eclipse_ja.feature.group

    • On Linux and OS X, the exclamation mark (!) needs to be escaped from the shell. To install Chinese support from the p2 repository downloaded to /tmp, run the following command:

      jmc -nosplash -application org.eclipse.equinox.p2.director
      -r jar:file:/tmp/babel-R0.10.1-juno.zip\!/juno/
      -i org.eclipse.babel.nls_eclipse_zh.feature.group