JDK Mission Control (JMC) is an advanced set of tools for managing, monitoring, profiling, and troubleshooting Java applications. JMC enables efficient and detailed data analysis for areas such as code performance, memory, and latency without introducing the performance overhead normally associated with profiling and monitoring tools.
Note: JMC 8 supersedes the previous versions. JMC 8 can analyze recordings from JDK 7 and above. All JMC 7 users must upgrade to JMC 8. Download JMC 8 from here.
This page contains all of the release notes for Oracle JMC 7 releases:
This section describes what is new in JDK Mission Control 7.1.3 release.
General
JMC 7 Installation Instructions
If you get an alert that states A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run JMC
or Failed to create the Java Virtual Machine
, then follow JDK Mission Control 7 Installation Instructions.
JMC as Eclipse Plug-in
JMC 7.1.3, when run as an Eclipse Plug-in, requires Eclipse 4.16 or later. To install JMC as a plug-in in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse. Ensure that you run Eclipse on JDK 8 or above.
Oracle Plug-ins
There are several Oracle plug-ins for use with JMC. Follow the instructions provided at JDK Mission Control Oracle Plug-ins.
Area: General
Synopsis: UI Components and operations are not working properly in macOS BigSur (JMC-7207)
Some UI components and operations are not working as expected on macOS BigSur.
This section describes what is new in JDK Mission Control 7.1.2 release.
General
JMC 7 Installation Instructions
If you get an alert that states A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run JMC
or Failed to create the Java Virtual Machine
, then follow JDK Mission Control 7 Installation Instructions.
JOverflow Included with Default JMC Distribution
JOverflow is integrated with JMC Standalone Application. Earlier, JOverflow used to be an additional plug-in.
Improved Thread Graphs
You can hide or reset thread lanes directly from the Thread graph. The tool tip is also improved to provide more details about the selected thread.
Visualization of Native Libraries
A new page, Native Libraries has been added in JFR. This page provides details of native libraries loaded by the JVM (JDK 9 and later).
Visualize Latencies and Size Distribution Using HdrHistogram
The HdrHistogram
API allows you to record and analyze histograms of value measurements in latency and performance sensitive applications. It enables plotting latency and size distribution charts in File I/O and Socket I/O pages.
Support for New JavaFX 12 Events and Hertz (Hz) in Unit Lookup
The JavaFX plug-in for JMC supports new JavaFX 12 events. Also, the events with jdk.jfr.Frequency
annotation has Hertz (Hz)
in unit lookup.
Quick Search on Automated Analysis Page
Quick search feature has been added to the automated analysis page that allows you to quickly search the results in Table view.
JMC as Eclipse Plug-in
JMC 7.1.2, when run as an Eclipse Plug-in, requires Eclipse 4.8 or later. To install JMC as a plug-in in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse.
Oracle Plug-ins
There are several Oracle plug-ins for use with JMC. Follow the instructions provided at JDK Mission Control Oracle Plug-ins.
Area: Plug-ins
Synopsis: Unable to view Coherence Tab Pack plug-in (JMC-6747)
Coherence Tab Pack plug-in is not available in JMC 7.1.2 as it is currently being converted to SWT.
JDK Mission Control 7.0.1 is primarily a bug fix release.
General
JMC 7 Installation Instructions
If you see an alert that states "A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run JMC" or "Failed to create the Java Virtual Machine", then follow JDK Mission Control 7 Installation Instructions.
JMC as Eclipse Plugin
JMC 7.0.1, when run as an Eclipse Plug-in, requires Eclipse 4.8 or later. To install JMC as a plugin in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse.
Oracle Plug-ins
There are several Oracle plug-ins for use with JMC. Follow the instructions provided at JDK Mission Control Oracle Plug-ins.
Area: JFR
Synopsis: Improvement in Event Data Parsing
There has been improvement in parsing the JFR event data using the owasp encoder
.
JDK Mission Control 7 (JMC) is an advanced set of tools that enables efficient and detailed data analysis, and delivers advanced, unobtrusive Java monitoring and management. JMC provides sections for common analysis areas such as code performance, memory, and latency.
Open Source
JMC 7 is the first version to be developed by the open source community as part of the OpenJDK Mission Control project. JMC 7 can be used to monitor the Oracle JDK as well as the OpenJDK versions offered by Oracle. See https://openjdk.java.net/projects/jmc/ for more information.
JDK 11 Support
This is a major new release of JMC. It is the first version of JMC that works with JDK 11. Note that this version can connect to JDK 7 and JDK 8 runtimes. It can open and visualize flight recordings from Oracle JDK 7 (7u40 and above).
JMC as Eclipse Plugin
JMC 7.0.0, when run as an Eclipse Plug-in, requires Eclipse 4.8 or later. To install JMC as a plugin in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse.
Oracle Plug-ins
There are several Oracle plug-ins for use with JMC. Follow the instructions provided at JDK Mission Control Oracle Plug-ins.
Minor bug fixes and improvements
There are hundreds of fixes and improvements in this release. Many of these were implemented before open sourcing the JMC project was completed. Some of the more relevant fixes and improvements can be found here: JMC 7 OpenJDK Result.
Memory Leak Profiler
Because of the new Old Object Sample event in JDK 11 and the new Live Object page, it is possible to solve memory leaks in production systems without having to trigger heap dumps.
Improved Rules
Rules have been added to the automated analysis, and many of the rules have been improved to provide more information.
Threads Page
The thread graph is presented now in the form of the Threads page. It provides an overview of events either in selected or in all threads.
Heap Dump Trigger Improved
The heap dump trigger now creates timestamped heap dumps in a new file. This enables multiple dumps without causing errors.
Area: General
Synopsis: JMC in Applications on macOS
JMC now behaves like a standard macOS application where you can either open the stand alone application (.app) or drop it into the Applications folder.
Area: Core
Synopsis: JSon Results Report Now Contains Rule Evaluation Error Information
Previously only the XML format would contain an error node when a rule fails to evaluate. Now the JSon formatted rule report also contains error information.
Area: JFR
Synopsis: Links in Rules
Links to more information in rule results now work.
Area: JFR
Synopsis: Filter Fixes
Various filter problems have been fixed, such as being able to enable column headers for filters and allowing filter columns to be resized.
Area: Console
Synopsis: Improvements to Alert Dialog
The Alert Dialog now separates the alerts and the alert information, making it easier to see all the alert information.
Area: Plug-ins
Synopsis: JOverflow Editor Information
When the heapdump file is opened in the JOverflow editor, it is opened as a new tab. The absolute path of the heap dump file is displayed as the Tooltip.
Area: Incubator
Synopsis: G1 Page Modal Error Dialog
The G1 Page might throw errors and force a modal error dialog to appear when there was no relevant data in the file. This issue has been fixed.
Area: General
Synopsis: JMC in Eclipse on Linux on JDK 8 (JMC-5486 and JMC-4848)
If you are running JMC 7 in Eclipse on JDK 8, you will need to set the environment variable SWT_GTK3=0 to force the use of GTK2 for JavaFX based plug-ins to work, such as JOverflow.
Area: General
Synopsis: Hibernation and time (JMC-4270)
After the bugfix of JDK-6523160 in JDK 8, the RuntimeMXBean#getUptime()
attribute was re-implemented to mean "Elapsed time of JVM process", while it previously was implemented as time since start of the JVM process. The uptime attribute is used by JMC, together with RuntimeMXBean#getStartTime()
, to estimate the actual server time. This means that time stamps, as well as remaining time for a flight recording, can be wrong for processes on machines that have been hibernated.
Area: General
Synopsis: JMC 7 fails to start on macOS (JMC-6653)
JMC 7 does not work on macOS with some versions of JDK, and an error message "Failed to create the Java Virtual Machine" is displayed. Such JDK versions (for example JDK 14.0 ) has a copy of libjli.dylib
in following locations, under the JDK base installation directory:
/Contents/Home/lib/libjli.dylib
/Contents/MacOS/libjli.dylib
For running JMC 7, the libjli.dylib
located in /Contents/MacOS/
directory of boot JDK must be a soft link to /Contents/Home/lib/libjli.dylib.
libjli.dylib
$ rm ./Contents/MacOS/libjli.dylib
cd ./Contents/MacOS/
ln -s ../Home/lib/libjli.dylib libjli.dylib
Area: JFR
Synopsis: Problem drag-and-dropping recordings to the analysis page (JMC-5412)
You can drag and drop flight recordings into JMC to open them. However, in JMC 7, dragging a recording to the new Automated Analysis Results page does not work. On the macOS platform, this can result in a crash. A workaround is to drag it to the top of the page or to any other page.
Area: JFR
Synopsis: Disappearing Outline (JMC-6428)
When running JMC as a plug-in within Eclipse, opening some recordings may result in the Outline being empty and page navigation being impossible. As a workaround, open the recording in the stand-alone version of JMC.
Area: JFR
Synopsis: Crash when opening a recording on OEL/RHEL 7.4 (JMC-6265)
Running JMC 7 on RHEL 7.4 can cause JMC to crash in libjavascriptcoregtk-4.0 when opening a recording. The earliest supported release of RHEL is 7.6.
Area: Plug-ins
Synopsis: JavaFX based plug-ins do not work on Linux systems without GTK 3 (JMC-5309)
The Coherence and the JOverflow plug-ins are embedding JavaFX in SWT, and will not work on Linux systems not having GTK 3.
Area: JFR
Synopsis: Partial stack trace tooltips on macOS (JMC-5734)
Tooltips for the stack trace view can overflow on macOS, showing only partial information.