If you are running Tomcat as a service, you will not be able to attach to it using JConsole using the 'local' protocol. You must configure it to accept remote connections, e.g.
This recipe does not perform any authentication. Also, I found out that if you have any -X Java options, they must appear last. When I tried to put the various -D settings listed above after the -X options, Tomcat (and presumably the JVM) quietly ignored them all.