Nohup挂起WebLogic报错处理
报错现象
在使用nohup命令挂起WebLogic服务时,可能会遇到以下报错信息:
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.Executors$RunnableAdapter@xxxx rejected from java.util.concurrent.ThreadPoolExecutor@xxxx 报错原因分析
此报错通常是由于WebLogic服务器在启动过程中,线程池中的任务过多,导致任务被拒绝执行,以下是一些可能的原因:

- 线程池配置不合理:线程池中的核心线程数、最大线程数和队列容量设置不当,导致任务过多。
- 任务执行时间过长:某些任务执行时间过长,占用线程时间,导致其他任务无法及时执行。
- 系统资源不足:系统资源(如CPU、内存)不足,导致线程无法正常创建和执行。
解决方法
针对以上原因,我们可以采取以下措施来解决nohup挂起WebLogic报错问题:
1 调整线程池配置
- 修改WebLogic配置文件:找到WebLogic的配置文件,如
weblogic.xml或weblogic-server.xml,根据实际情况调整线程池配置。
| 配置项 | 默认值 | 建议值 |
|---|---|---|
| corePoolSize | 10 | 20 |
| maximumPoolSize | 100 | 200 |
| queueCapacity | 128 | 512 |
- 重新启动WebLogic服务器:调整完线程池配置后,重新启动WebLogic服务器,查看报错是否消失。
2 优化任务执行
分析任务执行时间:检查任务执行时间,对执行时间过长的任务进行优化,减少资源占用。
分解任务:将大任务分解为小任务,降低任务执行时间。
3 检查系统资源
查看系统资源:使用命令行工具(如
top、free等)查看CPU、内存等系统资源使用情况。
优化系统资源:如果系统资源不足,可以考虑增加服务器硬件配置或优化系统资源使用。
相关问答FAQs
Q1:如何查看WebLogic线程池配置?
A1:通过WebLogic的配置文件,如weblogic.xml或weblogic-server.xml,可以查看线程池配置。
Q2:如何监控WebLogic服务器性能?

A2:可以使用WebLogic提供的监控工具,如WLST(WebLogic Scripting Tool)或WebLogic Management Console,监控服务器性能。

