WebLogic执行线程耗尽解决方案
WebLogic执行线程耗尽
1.1、概述 更多WebLogic相关知识·:
WebLogic集群管理 生活中常用脚本及运维技巧 WebLogic图形化安装及静默安装
WebLogic服务器执行线程耗尽后就不再响应后续请求,WebLogic即出现挂起现象。
WebLogic线程耗尽产生的原因有多种,一般而言线程耗尽是由于线程在争夺某种资源。当一种资源处于缺少状态,比如数据库JDBC连接池的达到最大连接数,就会导致后续的业务线程都卡在等待获取JDBC的连接上,最终导致服务器无法响应后续的服务请求。
1.2、常见线程耗尽原因
WebLogic服务器线程耗尽,最常见的几种原因如下:
WebLogic、JDK自身的Bug
业务系统中采用的开源软件的Bug
主机硬件到达上限瓶颈,无法承担更多的负载
数据库JDBC连接池耗光,后续业务线程无法获取到可用JDBC连接而一直处于等待状态
应用程序同步调用。比如业务线程A执行的过程中锁定了资源1,而由于同步调用的原因导致其他业务线程不得不一直无限等待资源1的锁被释放。
业务系统没有使用WebLogic线程池,而使用自定义的线程池。当自定义线程池全部被占用,就会导致没有线程可用于新工作。
线程都处于等待RJVM、RMI响应
应用配置不合理,比如设置了错误