You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-users@jakarta.apache.org by an...@axa.com.au on 2004/05/21 03:11:18 UTC

Thread Control for Element Event Queue Processor - Number of Threads too high

org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor threads 
are nearly 16. I want to control that and limit it to 5-6 as when 
JCS will go to Linux (production) 16 threads are very costly for that 
environment. How can I restrict that to some limited number of threads?

Here is thread dump: (All seems to be waiting)

"CacheEventQueue.QProcessor-1" daemon prio=5 tid=0x28b74d80 nid=0xb9c 
waiting on monito
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at org.apache.jcs.engine.CacheEventQueue.take(Unknown Source)
        at org.apache.jcs.engine.CacheEventQueue.access$500(Unknown 
Source)
        at org.apache.jcs.engine.CacheEventQueue$QProcessor.run(Unknown 
Source)

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28c8ee18 nid=0xa10 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290ee810 nid=0xc78 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x29578b98 nid=0x15fc 
waiting on mon
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28c8ece0 nid=0x854 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28aba450 nid=0xd74 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290c3870 nid=0x1534 
waiting on mon
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x2895ca78 nid=0x3cc 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"CacheEventQueue.QProcessor-1" daemon prio=5 tid=0x2930ea50 nid=0x994 
waiting on monito
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at org.apache.jcs.engine.CacheEventQueue.take(Unknown Source)
        at org.apache.jcs.engine.CacheEventQueue.access$500(Unknown 
Source)
        at org.apache.jcs.engine.CacheEventQueue$QProcessor.run(Unknown 
Source)

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x290d1780 nid=0x5fc 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x29019308 nid=0x8bc 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28871440 nid=0xfb8 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28b09640 nid=0xd30 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28992e00 nid=0xbbc 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28989ad0 nid=0x9d8 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"cache-PrepareThread" daemon prio=5 tid=0x28b01e80 nid=0x168 runnable 
[0x26d4f000..0x26
        at java.lang.Object.wait(Native Method)
        at 
weblogic.persist.TxIndexedFileImpl$PrepareThread.run(TxIndexedFileImpl.java:

"cache-CommitThread" daemon prio=5 tid=0x2882ad88 nid=0xedc runnable 
[0x26cdf000..0x26c
        at java.lang.Object.wait(Native Method)
        at 
weblogic.persist.TxIndexedFileImpl$CommitThread.run(TxIndexedFileImpl.java:6

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x287dccd0 nid=0xc24 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x28928710 nid=0xac0 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element

"SSLListenThread.Default" prio=5 tid=0x288b2250 nid=0x92c runnable 
[0x269df000..0x269df
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
        at java.net.ServerSocket.implAccept(ServerSocket.java:238)
        at javax.net.ssl.impl.SSLServerSocketImpl.accept(Unknown Source)
        at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)

"ListenThread.Default" prio=5 tid=0x288cbd70 nid=0x644 runnable 
[0x265df000..0x265dfdbc
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
        at java.net.ServerSocket.implAccept(ServerSocket.java:238)
        at 
com.wily.introscope.agent.probe.net.ManagedServerSocket.accept(ManagedServer
        at 
weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
        at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)

"ElementEventQueue.QProcessor-1" daemon prio=5 tid=0x288d28e0 nid=0x898 
waiting on moni
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.take(ElementEventQueue
        at 
org.apache.jcs.engine.control.event.ElementEventQueue.access$300(ElementEven
        at 
org.apache.jcs.engine.control.event.ElementEventQueue$QProcessor.run(Element



*********************************************************************************
Important Note
This email (including any attachments) contains information which is 
confidential and may be subject to legal privilege.  If you are not 
the intended recipient you must not use, distribute or copy this 
email.  If you have received this email in error please notify the 
sender immediately and delete this email. Any views expressed in this 
email are not necessarily the views of AXA.   Thank you.
*********************************************************************************