When starting the JMX agent via jcmd, the error messages you get are very cryptic: $ build/macosx-x86_64-normal-server-release/jdk/bin/jcmd Sleeper ManagementAgent.start 9979: java.lang.RuntimeException: Invalid option specified $ build/macosx-x86_64-normal-server-release/jdk/bin/jcmd Sleeper ManagementAgent.start config.file=apa 10024: java.lang.RuntimeException: Config file not found $ build/macosx-x86_64-normal-server-release/jdk/bin/jcmd Sleeper ManagementAgent.start jmxremote.port=5000 9979: sun.management.AgentConfigurationError This is just because errors are note propagated correctly to the jcmd. With some small changes the above can look like this: $ build/macosx-x86_64-normal-server-release/jdk/bin/jcmd Sleeper ManagementAgent.start 89673: java.lang.RuntimeException: Invalid com.sun.management.jmxremote.port number: No port specified $ build/macosx-x86_64-normal-server-release/jdk/bin/jcmd Sleeper ManagementAgent.start config.file=apa 89673: java.lang.RuntimeException: Config file not found: apa $ build/macosx-x86_64-normal-server-release/jdk/bin/jcmd Sleeper ManagementAgent.start jmxremote.port=5000 89673: java.lang.RuntimeException: Password file not found: /Users/staffan/mercurial/jdk9-hs-rt/build/macosx-x86_64-normal-server-release/jdk/lib/management/jmxremote.password