0 Replies Latest reply on Sep 17, 2009 8:47 AM by kaushalpanjwani

    JBoss High CPU Load

      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)
      
      



      If we consider the number of threads the majority is working on storing Hibernate's second level cahed objects.

      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)
      
      


      Please let me know how do I move forward, we use JBoss MQ for messaging. I can post the complete ThreadDumps, but I did not see an option to attach files.

      Thanks in advance!