We're trying to profile a remote tomcat application running in production. The problem is that all the threads in the web pool are blocked and this seems to prevent us from connecting with jconsole, jmc and even YourKit. All these tools work fine when the jvm is running fine.
The error from jconsole is a timeout:
Could not connect to server1:9090 : Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
java.net.SocketTimeoutException: Read timed out]
Could not connect to server1:9090. Make sure the JVM is running and that you are using the correct protocol in the Service URL (service:jmx:rmi:///jndi/rmi://server1:9090/jmxrmi).
This makes it hard to figure out what's wrong with our application. The server doesn't use much cpu and there is free memory. So no apparent lack of resources. The jvm just seems dead
Java version : jdk1.7.0_75 Tomcat version : 7.0.65
Any ideas on how to connect to the jvm when it is like this?