8 Frequently Asked Questions

This section lists frequently asked questions about JDK Mission Control.

I cannot connect to the JVM. What could be the problem?

Consider the following:
  • Are you using the correct protocol?

    Ensure that the version of the JVM that you want to monitor and the JVM running the JMC application are the same.

    The format of the service URL is:

    service:jmx:rmi:///jndi/rmi://<hostname>/jmxrmi

  • Are the correct ports opened?

    Running JMX over RMI requires two ports and that one of the ports will not be known beforehand.

  • Is the communication blocked by a firewall?

    For more information, see JDK Mission Control Communication.

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.

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

  • There are access restrictions in the Security manager.

  • The machine is multihomed and RMI is selecting the wrong interface.

  • There is a misconfigured hosts file or a number of different network related configuration problems.

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

I am getting exceptions during start up about classes not being found. What is wrong?

Ensure that you start JMC from:
  • Windows: <JMC_ROOT>\bin
  • Linux: <JMC_ROOT>/bin
  • macOS: <JMC_ROOT>/JDK Mission Control.app

Why does JDK Mission Control fail to find any local JVMs?

To resolve the issue, consider the following for Windows platform:

  • Ensure that you are using <JMC_ROOT>\bin to start the JMC client.

  • JDK 8 (and later) system path (<jdk_installation_path>\bin) is set in the PATH environment variable.

  • While opening jmc.exe, ensure you have access permission to the PATH, else Run as Administrator.

  • If you are running JMC from Eclipse, then ensure that Eclipse is running on a JDK (not JRE).

  • Ensure that there is a directory named hsperfdata_username in the system's tmp directory that it is writable by the user running JMC and that the file system supports access control lists (ACLs).

Note:

For information about Linux and macOS configurations, see JDK Mission Control 7 Installation Instructions.