weblogic threadpool has stuck threads引发内存溢出

来源:互联网 发布:js设置select选中的值 编辑:程序博客网 时间:2024/06/10 10:28

最近项目老是出问题,weblogic的nohup日志文件中找到下面一段(红色部分是关键),大意是当前请求时间大于默认的请求时间,因此需要将默认的请求时间改大点就行了,其实也就是要修改weblogic中的StuckThreadMaxTime参数。

<Oct 14, 2013 1:41:05 AM GMT+08:00> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "683" seconds working on the request "weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@24e924e9", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. 

Stack trace:
null> 
<Oct 14, 2013 1:43:05 AM GMT+08:00> <Error> <Kernel> <BEA-000802> <ExecuteRequest failed
 java.lang.NullPointerException.
java.lang.NullPointerException
at java.lang.Thread.setPriority(Thread.java:817)
at weblogic.work.ThreadPriorityManager.setThreadPriority(ThreadPriorityManager.java:207)
at weblogic.work.ThreadPriorityManager.handleHogger(ThreadPriorityManager.java:226)
at weblogic.work.RequestManager.getStuckThreads(RequestManager.java:919)
at weblogic.work.ThreadPoolRuntimeMBeanImpl.getStuckExecuteThreads(ThreadPoolRuntimeMBeanImpl.java:100)
Truncated. see log file for complete stacktrace

修改weblogic中的StuckThreadMaxTime参数:登录weblogic的控制台——环境(Environment)——服务器(Servers),点击AdminServer(admin)——配置(Configuration)——优化(Tuning),如下图所示


同理,重载(Overload),如下图: