我正在诊断一个没有响应的tomcat 8.0_29实例(jdk1.8_93)。有些线程被阻塞但是有很多RUNNABLE线程(数百个)带有空栈跟踪。 Tomcat在不同的虚拟机上运行Apache http。 Cennector配置如下: `
grep -rl "[0-9]*" ./TEST | xargs sed -i "s/[0-9]*/&-1/g"
SSL终止是由Apache儿子只通过AJP调用到达Tomcat
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" secure="true" enableLookups="false"
disableUploadTimeout="true"
keystoreFile="${catalina.home}/conf/server.jks"
keystorePass="xxxxxx"
acceptCount="100" maxThreads="25" scheme="https"
clientAuth="false" sslProtocol="TLSv1.2"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
acceptorThreadCount="2" maxThreads="300" acceptCount="200" minSpareThreads="20"
connectionTimeout="180000" keepAliveTimeout="180000" URIEncoding="ISO-8859-1" /> `
其中许多人被命名为&#39; thread- $ id&#39;其余的都是&#39; HandshakeCompletedNotify-Thread&#39;
Thread-41827 - priority:5 - threadId:0x00007f44e932f800 - nativeId:0xd7d - state:RUNNABLE
stackTrace:
java.lang.Thread.State: RUNNABLE
这些线程是什么?
非常感谢