我们正在使用带有jrockit 1.6 64位的Weblogic 10.3.2,我们的应用程序正在使用jboss seam框架。卡住的线程数正在稳步增加。这些卡住的线程只是等待,他们没有花费任何CPU周期。所有卡住线程的堆栈跟踪都是相同的,它们的状态是native_waiting。
上次java方法调用是com/sun/faces/application/ViewHandlerImpl.renderView(ViewHandlerImpl.java:186)
。这是ViewHandlerImpl类的第186行的源代码;
WriteBehindStateWriter stateWriter =
new WriteBehindStateWriter(response.getWriter(),
context,
bufSize);
此电子邮件附有完整堆栈跟踪。这是一些卡住线程的堆栈跟踪;
"[STUCK] ExecuteThread: '29' for queue: 'weblogic.kernel.Default (self-tuning)'" id=127 idx=0x230 tid=6974 prio=1 alive, native_waiting, daemon
at pthread_cond_wait@@GLIBC_2.3.2+185(:0)@0x3820a0aee9
at eventTimedWaitNoTransitionImpl+71(event.c:90)@0x2b1ffc771ec8
at syncWaitForSignalNoTransition+65(synchronization.c:28)@0x2b1ffc904312
at innerNativeDoWait+1112(nativelock.c:614)@0x2b1ffc893f99
at nativeWait+54(nativelock.c:721)@0x2b1ffc8942a7
at clsEnsureInitialized+378(class.c:222)@0x2b1ffc72c61b
at RJNI_jrockit_vm_RNI_initializeClass+19(trampoline.c:106)@0x2b1ffc90aba4
at jrockit/vm/RNI.initializeClass(J)V(Native Method)
at com/sun/faces/application/ViewHandlerImpl.renderView(ViewHandlerImpl.java:186)
at org/jboss/seam/jsf/SeamViewHandler.renderView(SeamViewHandler.java:87)
at com/sun/facelets/FaceletViewHandler.renderView(FaceletViewHandler.java:547)[optimized]
at org/ajax4jsf/application/ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)[inlined]
at org/ajax4jsf/application/AjaxViewHandler.renderView(AjaxViewHandler.java:176)[optimized]
at com/sun/faces/lifecycle/RenderResponsePhase.execute(RenderResponsePhase.java:109)[optimized]
at com/sun/faces/lifecycle/Phase.doPhase(Phase.java:100)[optimized]
"[STUCK] ExecuteThread: '28' for queue: 'weblogic.kernel.Default (self-tuning)'" id=126 idx=0x22c tid=6973 prio=1 alive, native_waiting, daemon
at pthread_cond_wait@@GLIBC_2.3.2+185(:0)@0x3820a0aee9
at eventTimedWaitNoTransitionImpl+71(event.c:90)@0x2b1ffc771ec8
at syncWaitForSignalNoTransition+65(synchronization.c:28)@0x2b1ffc904312
at innerNativeDoWait+1112(nativelock.c:614)@0x2b1ffc893f99
at nativeWait+54(nativelock.c:721)@0x2b1ffc8942a7
at clsEnsureInitialized+378(class.c:222)@0x2b1ffc72c61b
at RJNI_jrockit_vm_RNI_initializeClass+19(trampoline.c:106)@0x2b1ffc90aba4
at jrockit/vm/RNI.initializeClass(J)V(Native Method)
at com/sun/faces/application/ViewHandlerImpl.renderView(ViewHandlerImpl.java:186)
at org/jboss/seam/jsf/SeamViewHandler.renderView(SeamViewHandler.java:87)
at com/sun/facelets/FaceletViewHandler.renderView(FaceletViewHandler.java:547)[optimized]
at org/ajax4jsf/application/ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)[inlined]
at org/ajax4jsf/application/AjaxViewHandler.renderView(AjaxViewHandler.java:176)[optimized]
at com/sun/faces/lifecycle/RenderResponsePhase.execute(RenderResponsePhase.java:109)[optimized]
at com/sun/faces/lifecycle/Phase.doPhase(Phase.java:100)[optimized]
at com/sun/faces/lifecycle/LifecycleImpl.render(LifecycleImpl.java:139)[optimized]
at javax/faces/webapp/FacesServlet.service(FacesServlet.java:266)[optimized]
at weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)[optimized]
at weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)[inlined]
at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:292)[optimized]
你知道为什么这些线程在等待吗?...