记一次tomcat版本问题导致CPU超过100%

2017-09-28  本文已影响1259人  staconfree

生产现象

java服务启动5分钟左右,top命令查看发现CPU飙升到300%,居高不下

解决步骤

"https-jsse-nio-9000-ClientPoller-1" #85 daemon prio=5 os_prio=0 tid=0x00007f3a3d657000 nid=0x1a23 runnable [0x00007f3a14ed9000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
    - locked <0x000000008740ef68> (a sun.nio.ch.Util$2)
    - locked <0x000000008740ef58> (a java.util.Collections$UnmodifiableSet)
    - locked <0x000000008740edb0> (a sun.nio.ch.EPollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:791)
    at java.lang.Thread.run(Thread.java:745)

"https-jsse-nio-9000-ClientPoller-0" #84 daemon prio=5 os_prio=0 tid=0x00007f3a3d655800 nid=0x1a22 runnable [0x00007f3a14fda000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
    - locked <0x000000008740f5d8> (a sun.nio.ch.Util$2)
    - locked <0x000000008740f5c8> (a java.util.Collections$UnmodifiableSet)
    - locked <0x000000008740f420> (a sun.nio.ch.EPollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:791)
    at java.lang.Thread.run(Thread.java:745)

发现两个线程都是tomcat的NIO问题,可以肯定不是我们的业务代码引起的,但不是特别敢怀疑是tomcat的bug。根据以往的经验,首先怀疑是locked里面的东西互锁了,但是查看这些locked的id并没有找到其他线程有一样的id。

后来百度实在找不到答案,google来解决。找到如下文章,正好确认是8.5.4版本问题
High CPU load with the JSSE client poller on Tomcat 8.5

总结

遇到问题要敢于怀疑,即使是大神写的代码,在中间某些版本修复了某些问题,不见得不会在后面版本迭代更新之后再次出现。

上一篇 下一篇

猜你喜欢

热点阅读