Hello: I am running a very simple storm topology (1 spout and 2 bolts). I noticed that when idle, the topology worker was consuming ~50% CPU on one of my VMs. I connected visual VM to the worker to profile and noticed that the bulk of the CPU time was spent in
org.jboss.netty.channel.socket.nio.SelectorUtil.select() I did a thread dump and noticed that there are 219 threads in this method, an example is shown below. Is there some configuration setting that controls the number of these threads that I am not setting? I am using storm from github/master.. Thank You Milad "pool-153-thread-1" - Thread t@373 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 <3475352a> (a sun.nio.ch.Util$2) - locked <40e29dbf> (a java.util.Collections$UnmodifiableSet) - locked <6722c404> (a sun.nio.ch.EPollSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 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.NioClientBoss.run(NioClientBoss.java:41) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Here is my storm.yml: storm.zookeeper.servers: - "%zookeeper%" nimbus.host: "%nimbus%" worker.childopts: "-Xmx768m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1%ID%"