JDK Mission Control is a tools suite for monitoring, managing and profiling Java applications running in production.
 

Here is a list of resources you may want to consult when you have questions regarding Java Mission Control:      

1. There is help included in Java Mission Control. The Mission Control FAQ included in the help is very useful for trouble-shooting common problems.

2. This FAQ.

3. Posting questions to the Oracle forum may help: https://community.oracle.com/community/groundbreakers/java/java_hotspot_virtual_machine/java_mission_control.

4. This blog regularily posts on Mission Control related topics: http://hirt.se/blog/?cat=3.

5. The official twitter handle is @javamissionctrl. Also, @hirt often posts JVM and Mission Control related information.

6. There is a Facebook community page here: https://www.facebook.com/javamissionctrl/.


Q&A

Q: I am having problems building JMC core, more specifically with the JDP tests.

A: You may need to ask a local multicast route like so:

   route add -net 224.0.0.0 netmask 240.0.0.0 dev lo
 

Q: I cannot see any locally running JVMs in the JVM browser!

A1: Are you running in Eclipse? If so, make sure you run your Eclipse on a JDK, NOT a JRE!

A2: You should have a directory named hsperfdata_<user> in your tmp directory, where <user> is your login. (On windows you should be able to find this folder under C:\Users\myuser\AppData\Local\Temp\hsperfdata_myuser.) Make sure that the directory can be written to. Also make sure that you are using a file system that supports ACLs.


Q: I cannot access the Flight Recorder!

A1: Make sure you are trying to connect to a 7u40 or later.

A2: If running with an Oracle JDK < 11, ensure you have started the JVM you are trying to start recordings on with the proper flags: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder


Q: How do I install the Eclipse version?

A: Install Eclipse, then install the plug-ins from the update site. Either do that following the instructions in the README.txt and a local build, or from the update site provided by your favorite JMC vendor.


Q: I want to connect to my 64-bit JVM from a 32-bit Mission Control (or vice versa)

A: Start the JMX agent on your JVM by adding the JVM flag -Dcom.sun.management.jmxremote


Q: JMC on Mac OS X does not seem to start anymore.

A: Try removing your ~/.jmc folder. (If you still see this with JMC 5.3.0 or later, please let us know.)


Q: Why are there no I/O events in my JFR recording?

A1: Was the recording done with JDK 8u0? The I/O events are not included in JDK 8 GA. They exist in JDK 7u40, and were reintroduced in the JDK 8u20 release.

A2: Did you disable the I/O events in your template?


Q: I've installed plug-ins in the JMC application, why can't I use them?

A: If you're using JMC 5.3, see the JMC 5.3 Release Notes for a work around. This should not happen in 5.4.0 or later.


Q: Why do I get a lot fewer method samples then I expected?

A1: There's a bug in 7u60 (Linux only) that results in a large reduction of method samples. It's been fixed 7u71 and 8u20.

A2: Flight Recorder does not sample threads that are running native code.


Q: JMC crashes or hangs on Linux

A: This can be a known JavaFX/GTK related issue (https://bugs.openjdk.java.net/browse/JDK-8089584), try setting this environment variable: SWT_GTK3=0


Q: Error message "Could not start JDP. Can't assign requested address"

A: Workaround: add "-Djava.net.preferIPv4Stack=true" to the JVM flags used to start JMC or Eclipse.


Q: I cannot connect

A: Consider the following:


Q: When attempting to connect to a JVM, I get a stack trace indicating that the JVM attempts to communicate with a strange IP or host name. What does this mean?

A: Sometimes RMI can have a problem determining which address to use. This can happen because of any of the following:

If all else fails, you can try specifying the java.rmi.server.hostname system property on the JVM you are trying to connect to. Note that this can affect applications running on that JVM.


Q: I am getting exceptions during startup about classes not being found. What is wrong?

A: Ensure that you are using JAVA_HOME/bin/jmc to start the JMC client.


Q: Why does Java Mission Control fail to find any local JVMs?

A: Consider the following:


Also, see the last chapter in the documentation included with JMC.