Are you using Java version 6u24? Then you may fall prey to this error , which will be fixed in 6u25 (in a nutshell, jVisualVM cannot find your hsperfdata process).
Otherwise, you must enable monitoring through JMX:
Pass the following JVM parameters to Tomcat:
-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Then add the remote process to jVisualVM via File -> Add JMX Connection. You can connect to the process using port 8888
jVisualVM has some other gotchas, for example. the user starting jVisualVM should be the same as the user owning the process you want to control (although, I don't think this is your problem). More details here .
source share