High CPU in sun.nio.ch.EPollArrayWrapper.epollWait in JBoss Data Grid 6.1

Solution Verified - Updated -

Issue

  • Threads consuming high cpu have the following stack trace:
"A-index-8b" #62 prio=5 os_prio=0 tid=0x00007f8532a2d000 nid=0xdd83 runnable [0x00007f84f49b7000]
   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:79)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
        - locked <0x0000000737fc7a88> (a sun.nio.ch.Util$2)
        - locked <0x0000000737fc7a70> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000007378e2cb8> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
        at com.abc.MyClass.select(MyClass.java:400)
        at com.abc.MyClass.run(MyClass.java:602)
        at java.lang.Thread.run(Thread.java:745)
  • High CPU usage in JDG 6.1. There is the following thread in Thread Dump:
"HotRodServerWorker-161" prio=10 tid=0x00007f1995b89000 nid=0x13ab runnable [0x00007f17140bf000]
  java.lang.Thread.State: RUNNABLE
  at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
  at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228)
  at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:81)
  at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
  - locked <0x00007f1ae34fc1e8> (a sun.nio.ch.Util$2)
  - locked <0x00007f1ae34fc1d8> (a java.util.Collections$UnmodifiableSet)
  - locked <0x00007f1ae34fc1f8> (a sun.nio.ch.EPollSelectorImpl)
  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
  at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:64)
  at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:409)
  at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:206)
  at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
  at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
  at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
  at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:722)

Environment

  • Red Hat JBoss Data Grid (JDG)
    • 6.1
  • Oracle Java
    • 7u40
  • OpenJDK 1.8
    • Update 51

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content