jboss スレッドのほとんどは BLOCKED 状態にあり、jboss のスレッド数が減ることはありません。
スレッド数を減らす方法と、これらの多くのスレッドが BLOCKED 状態にある理由を理解したい。
450 個のスレッドのうち 380 個が BLOCKED 状態です。
以下を使用して状態を調べました
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)