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 9 supersedes the previous versions. JMC 9 can analyze recordings from JDK 7 and above. All JMC 8 users and any remaining JMC 5 users must upgrade to JMC 9. Download JMC 9 from here.
This page contains release notes for all Oracle JMC 9 versions:
JMC 9.1 introduces several new features, enhancements, and bug fixes.
The following are some of the new features introduced in JMC 9.1:
Support for Jolokia JMX Connection and Discovery
JMC now supports connecting to JVMs using Jolokia and Jolokia's auto discovery mechanism.
Scientific notation not displayed for long data types
For attributes with long data types, JMC no longer displays the scientific notation.
Display of Resident Set Size
The resident set size (RSS) will now be displayed both on the memory page and on the Java Application page.
Improved Halt Rule Result
The Results tab of VMOperation Peak Duration displays the top 5 VM Operations (ordered by max time), including the thread that initiated them.
Mouse hover for Event Thread displays the Thread ID
On the Threads page, hovering over a thread name displays the thread ID in the tool tip.
New rule that checks for PID 1 for Java processes
Java processes should not run with PID 1. PID is reserved for the init
process on Linux, which is responsible for signal handling and process management. JMC now has a new rule that checks for PID 1 for Java processes.
See JMC 9 userguide for a comprehensive list of all new features introduced in JMC 9.1.
JMC 9.1 requires JDK 21 and later to run. This version continues to support connecting to, and parsing JFR recordings from OpenJDK 8u272+ and Oracle JDK 7u40+, and can open and visualize flight recordings from JDK 7 and 8.
JDK Mission Control is available for Windows (x86_64), Mac OS X (ARM and x86_64), and Linux (ARM and x86_64).
While installing JMC, 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 Installation Instructions.
JMC 9.1, when run as an Eclipse Plug-in, requires Eclipse 2024-12 or later. To install JMC as a plug-in in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse.
The following table lists the known issues in the JDK Mission Control 9.1 release.
# | JMC Number | Description |
---|---|---|
1 | JMC-6739 | Unable to perform flight recordings on jLinked applications |
2 | JMC-7071 | JMC wrongly attaches itself with other (unsupported) JVMs |
3 | JMC-7560 | Stacktrace graph views are not shown on Windows |
The following table lists the fixed issues in the JDK Mission Control 9.1 release.
# | JMC Number | Description |
---|---|---|
1 | JMC-8248 | Low contrast for the stacktrace view when running in windows high contrast mode |
2 | JMC-8287 | Fix the JMX protocol extenders |
3 | JMC-8295 | Shutdown event type id was not properly translated for Oracle JDK 8 |
4 | JMC-8303 | NPE when running JFR rules reports |
This document describes what's new in JDK Mission Control 9 release.
The JMC 9 release introduces several new features, enhancements, and bug fixes. The following are some of the new features introduced in JMC 9:
Improved JFR parser performance
Reduced allocations in the JMC parser have significantly improved JFR parser performance, including reduction in Doubles
and allocation rate in ParserStats
. Binary search has also improved the speed of linear time reordering and linear lane search.
Search by event type ID is now enabled in the event browser
Search by event type IDs is now enabled and is displayed in a column (hidden by default) next to the event ID.
Support for enabling JFR on native images
JMC can now start flightrecorder on GraalVM native image.
Java based flamegraph visualization
To improve the performance and efficiency of the flamegraph visualization, a Java Swing based framework is now used. In addition, the performance of flame graph model creation has been improved.
User configuration for local JVM refresh interval
A new field has been added to specify the scan frequency of the JVM browser to monitor JVMs.
Support for dark mode
JMC 9 now supports dark mode. Go to Preferences, General, Appearance, and select the Dark theme to enable.
Addition of new rules
New rules have been added to use the jdk.FinalizerStatistics
JFR event and display G1 MMU information.
Rule that detects GC Inverted Parallelism
A new rule has been added to JMC to detect Inverted Parallelism in GC. The new rule makes use of the new GC CPU time JFR event, which has been introduced in JDK 20. See Add rule to detect GC Inverted Parallelism for more information.
Twitter plug-in removed
Due to changes in the APIs provided by Twitter, the JMC plug-in for Twitter has been removed.
See JMC 9 userguide for a comprehensive list of all new features introduced by JMC 9.
JMC 9.0 requires Oracle JDK 17 or later for operation. However, JMC 9 supports Java Management Console (JMX) monitoring and Java Flight Recorder (JFR) profiling of JVMs running on JDK 7u40 or later across all supported platforms.
JMC 9 is supported on Windows (x64), macOS (ARM and x64), and Linux (ARM and x64)
While installing JMC, 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 Installation Instructions.
JMC 9, when run as an Eclipse Plug-in, requires Eclipse 2023-12 or later. To install JMC as a plug-in in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse.
The following table lists the known issues in the JDK Mission Control 9 release.
# | JMC Number | Description |
---|---|---|
1 | JMC-6739 | Unable to perform flight recordings on jLinked applications |
2 | JMC-7071 | JMC wrongly attaches itself with other (unsupported) JVMs |
3 | JMC-7560 | Stacktrace graph views are not shown on Windows |
4 | JMC-7953 | Unable to install JMC Plugins on Eclipse 4.25 |
The following table lists the fixed issues in the JDK Mission Control 9 release.
# | JMC Number | Description |
---|---|---|
1 | JMC-7007 | Unable to edit eclipse project run configurations after installing JMC plugins on Linux |
2 | JMC-7220 | Unable to open JMX Console after installing plugins in macOS and Linux |