我们正在尝试分析在生产中运行的远程 tomcat 应用程序。问题是网络池中的所有线程都被阻塞了,这似乎阻止了我们与 jconsole、jmc 甚至 YourKit 的连接。当 jvm 运行良好时,所有这些工具都可以正常工作。
jconsole 的错误是超时:
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).
这使得我们很难弄清楚我们的应用程序出了什么问题。服务器不使用太多 cpu 并且有空闲内存。所以没有明显的资源匮乏。jvm似乎已经死了
Java 版本:jdk1.7.0_75 Tomcat 版本:7.0.65
关于如何在这样的情况下连接到 jvm 的任何想法?