1

Most of our jboss threads lie in the BLOCKED state and the thread count of jboss never comes down.

Want to understand how to bring the thread count down and why are these many threads in BLOCKED state.

We have 380 of 450 threads in BLOCKED state.

Used the below to find out the states

awk '/state / { print $5}' < tdump-231.log  | sort | uniq -c
 384 BLOCKED)
 68 IN_NATIVE)



Thread 31554: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
 - java.lang.Object.wait() @bci=2, line=485 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, line=885 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, line=911 (Compiled frame)
 - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)


Thread 31553: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
 - java.lang.Object.wait() @bci=2, line=485 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, line=885 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, line=911 (Compiled frame)
 - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)


Thread 31552: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
 - java.lang.Object.wait() @bci=2, line=485 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, line=885 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, line=911 (Compiled frame)
 - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)


Thread 31551: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
 - java.lang.Object.wait() @bci=2, line=485 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, line=885 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, line=911 (Compiled frame)
 - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)


Thread 31550: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
 - java.lang.Object.wait() @bci=2, line=485 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, line=885 (Compiled frame)
 - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, line=911 (Compiled frame)
 - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)
  • Is this by any chance a production server which might have a lot of connections to clients in "keep alive" state? – Eelke Oct 07 '14 at 07:34
  • Yes this is a production server. – Rahul Agarwal Oct 07 '14 at 07:45
  • did you check if same treads are in blocking state or different treads are coming as blocking at different time? – Neeraj Oct 07 '14 at 07:45
  • How many clients are connected? 380 blocked threads is not, in itself, a huge issue. My box has, ATM, 1256 threads, almost all of which are blocked, (else I would struggle to type this in:). – Martin James Oct 07 '14 at 07:55
  • What version of JBoss AS because those look like Tomcat threads? :) – James R. Perkins Oct 07 '14 at 21:01
  • @RahulAgarwal - Did you ever determine why the threads never go away? I have the same issue where the threads go up during a load test, then after the load test is stopped, the threads that are BLOCKED never go away. JBoss AS 7.1 on my side. Thanks for any updates. – David Webb Dec 04 '14 at 19:21

0 Answers0