]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds
. Stack trace:
Thread-3847 "[STUCK] ExecuteThread: '92' for queue: 'weblogic.kernel.Default (se
lf-tuning)'" <alive, suspended, priority=1, DAEMON> {。。。。。}
,"weblogic.kernel.Default"是从客户端提交请求后产生的线程所在的队列名。这个队列的线程数默认是15个。如果超过15个线程堵塞,则部署的应用将不能访问。同时后台报:
<2008-2-27 下午09时37分48秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default' has been busy for "1,720" seconds working on the request "Http Request: /myapp/test/index.jsp", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.>
2,线程数(Tread Count):指派到weblogic.kernel.Default队列的线程数。如果你不需要使用超过15个线程(默认),就不必更改这个属性值。
如果发送该请求较多,很有可能会导致weblogic的线程阻塞,严重会引起weblogic挂起现象。
可以通过以下几种方法解决:
1)修改StuckThreadMaxTime参数,将默认的600s改成1200s,或者其它适合的值。
2)增大线程数,防止线程阻塞问题。
3)优化程序,减少处理时间。
1) 如何修改StuckThreadMaxTime参数值:http://lujinan858.iteye.com/blog/986237
启动weblogic服务,进入控制台:
your_domain->Environment->Servers->your_server->Configuration->Tuning->Stuck Thread Max Time
如下图:
2)怎样增大线程数
window环境下修改【bea】\user_projects\domains\my_domain\bin\setDomainEnv.cmd文件,查询最下面set JAVA_OPTIONS=%JAVA_OPTIONS%
改为:
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MinPoolSize=50
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MaxPoolSize=300
同时发现了一篇好文章:weblogic10.3优化设置 http://wenku.baidu.com/view/c42e7a5bbe23482fb4da4cf2.html
- 大小: 273.6 KB
分享到:
相关推荐
日志中频繁出现的错误信息`<Error> <WebLogicServer> <BEA-000337>`表明有执行线程在处理特定请求(如`Http Request: /guestAction.jsp`)时超过了预设的超时时间(StuckThreadMaxTime)60秒。这揭示了WebLogic的...
WebLogic Server还提供了工作管理器限制调优,包括设置最大线程数限制和容量限制,以避免资源问题导致性能下降。达到容量限制时,HTTP请求会收到HTTP503响应。 Web应用程序调优和JDBC调优主要关注于特定应用程序和...
理论上,最大并发线程数应等于“本地主机CPU个数+Stuck线程数”。通过控制台(mydomain->Servers->myserver->Monitoring)或`config.xml`文件中的`<ExecuteQueue ThreadCount="50"/>`配置项进行修改,可以实现动态调整...
- **线程数增量(`ThreadsIncrease`)**: 溢出时增加的线程数。默认值为0,即不增加线程数。除非有足够的CPU和内存资源,否则不建议更改。 - **最大线程数**: 防止因频繁溢出而创建过多线程。默认值为400。 - **...
- **StuckThreadMaxTime/StuckThreadTimerInterval**:这两个参数用于检测和处理“卡死”的线程。 - **ThreadPoolPercentSocketReaders/AcceptBacklog**:这些参数分别用于调整Socket读取线程的比例和监听队列长度。...
| | ThreadsIncrease | ThreadsIncrease | 当队列长度达到阈值时增加的线程数。 | | | ThreadsMaximum | ThreadsMaximum | 执行队列中线程的最大数量。 | | | ThreadPriority | ThreadPriority | 设置线程优先级。 |...
2. **线程阻塞 (StuckThreadMaxTime)**:可能是因为某个线程长时间未完成,需要检查线程状态,优化代码,或调整线程池设置。 3. **JDBC连接池满 (PoolLimitSQLException)**:在启动或运行过程中,需增加连接池大小,...
如果发现线程被阻塞,例如`ExecuteThread`在一个队列上超过预设的时间(StuckThreadMaxTime)工作,这通常需要进一步的调试。堆栈跟踪可以帮助定位导致阻塞的具体代码行。 在尝试解决问题时,可以依据找到的问题点...
在Weblogic服务器中,当一个线程执行时间超过预设的“StuckThreadMaxTime”(默认60秒)时,会发出警告,但不会自动采取行动。这种情况下,开发者需要通过生成线程堆栈(thread dump)来分析导致线程长时间运行的...