Hello Everybody,
More often now we are facing a high CPU usage for our jboss4.0.5 application.
On analyzing the ThreadDump and ThreadCpuUtilization I see that maximum CPU is consumed by JMS SessionPool Worker Threads and they are all in Timed_WAITING state.
Thread: JMS SessionPool Worker-21 : priority:5, demon:true, threadId:780, threadState:TIMED_WAITING, threadLockName:EDU.oswego.cs.dl.util.concurrent.LinkedNode@d93b98 java.lang.Object.wait(Native Method) EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353) EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:723) org.jboss.jms.asf.StdServerSessionPool$MyPooledExecutor.getTask(StdServerSessionPool.java:376) EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:747) java.lang.Thread.run(Thread.java:619)
Thread: Store com.xyz.persistence.company.CompanyContactXref Spool Thread : priority:2, demon:true, threadId:54, threadState:TIMED_WAITING, threadLockName:null java.lang.Thread.sleep(Native Method) net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556) net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59) net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)