Java Tomcat 8.5上JSSE客户端轮询器的高CPU负载

Java Tomcat 8.5上JSSE客户端轮询器的高CPU负载,java,tomcat,cpu-usage,Java,Tomcat,Cpu Usage,我在WindowsServer2008R2和Java1.8.092上运行Tomcat8.5.3。 该进程消耗大量CPU(约50%来自4个CPU) JTop显示,到目前为止,最消耗的两个线程是https-jsse-nio-443-ClientPoller-0和https-jsse-nio-443-ClientPoller-1 线程主要在四个堆栈轨迹上循环: sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) sun.nio

我在WindowsServer2008R2和Java1.8.092上运行Tomcat8.5.3。 该进程消耗大量CPU(约50%来自4个CPU)

JTop显示,到目前为止,最消耗的两个线程是https-jsse-nio-443-ClientPoller-0和https-jsse-nio-443-ClientPoller-1

线程主要在四个堆栈轨迹上循环:

sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   - locked sun.nio.ch.Util$2@2a3e6629
   - locked java.util.Collections$UnmodifiableSet@7cdb1cd3
   - locked sun.nio.ch.WindowsSelectorImpl@13dc3a00
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:791)
java.lang.Thread.run(Thread.java:745)


有什么想法吗?

我在Tomcat 8.5.4/Linux上遇到了类似的问题,在那里我看到轮询器线程(例如https-jsse-nio-443-ClientPoller-0和1)上的cpu使用率非常高。升级到8.5.5似乎解决了这个问题


可能是这个错误:

谢谢你的链接。这个问题的标题听起来不对,但似乎是同一个问题。我通过将连接器切换到NIO2解决了这个问题。我在windows中使用Tomcat 8.5.47 Tnive和APR连接器获得了较高的cpu使用率,使用Tomcat 8.5.5解决了我的问题。谢谢你
sun.nio.ch.WindowsSelectorImpl$SubSelector.processFDSet(WindowsSelectorImpl.java:345)
sun.nio.ch.WindowsSelectorImpl$SubSelector.processSelectedKeys(WindowsSelectorImpl.java:315)
sun.nio.ch.WindowsSelectorImpl$SubSelector.access$2900(WindowsSelectorImpl.java:278)
sun.nio.ch.WindowsSelectorImpl.updateSelectedKeys(WindowsSelectorImpl.java:495)
sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:172)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   - locked sun.nio.ch.Util$2@6f4350d0
   - locked java.util.Collections$UnmodifiableSet@36157c3f
   - locked sun.nio.ch.WindowsSelectorImpl@120cc3aa
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:791)
    java.lang.Thread.run(Thread.java:745)
sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method)
sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473)
   - locked java.lang.Object@450e5040
sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   - locked sun.nio.ch.Util$2@6f4350d0
   - locked java.util.Collections$UnmodifiableSet@36157c3f
   - locked sun.nio.ch.WindowsSelectorImpl@120cc3aa
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:791)
java.lang.Thread.run(Thread.java:745)
java.lang.Object.notifyAll(Native Method)
sun.nio.ch.WindowsSelectorImpl$StartLock.startThreads(WindowsSelectorImpl.java:189)
   - locked sun.nio.ch.WindowsSelectorImpl$StartLock@1c512d03
sun.nio.ch.WindowsSelectorImpl$StartLock.access$300(WindowsSelectorImpl.java:181)
sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:153)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   - locked sun.nio.ch.Util$2@2a3e6629
   - locked java.util.Collections$UnmodifiableSet@7cdb1cd3
   - locked sun.nio.ch.WindowsSelectorImpl@13dc3a00
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:791)
java.lang.Thread.run(Thread.java:745)