tomcat僵死

上一篇 / 下一篇  2017-07-19 11:34:31

生产环境系统使用RHEL4 update4 + Tomcat 5.5.25 + JDK6.0u3,8G内存,4CPU。两台机器,白天在线用户1500左右。 

在tomcat启动一段时间(平均3天左右),突然僵住,无法接收任何请求。 

一开始怀疑资源泄漏,但经检查,内存、CPU、数据库在僵死前一切正常。僵死后,CPU降为0%,网络发送/接收量为0。 

使用probe工具观察,得到如下结果: 

正常情况下,处于工作状态(Service状态)的线程数仅在20左右(已关闭长连接的情况下) 
但在快要崩溃前大约5分钟,连接数暴涨至maxThread,如1000。 

观察后发现,在这5分钟内新进的请求,均处于"Service"状态,也就是tomcat connector接受新请求后,不能处理,直至请求越来越多,几分钟后最终堆积达到maxThread,Tomcat彻底僵死。 

在僵死时,受影响的仅有一个应用,webapp目录下的其它应用不受影响,可以从其它端口正常访问。 

已换过jdk版本,tomcat版本等,设置更大的连接数(事实上只是延长了请求堆积的时间),没有效果。出错时,没有错误日志信息。 

有哪位能猜测到底发生了什么?以前是好的,但经过几次代码上的更新之后就慢慢出现了这个问题,我们仔细检查了源代码,表面上找不到任何问题。
问题补充:
已将当机时的用户session信息已全部保存下来看了,没有发现问题。 

2台tomcat,一台死掉的时候,另一台工作得好好的。

TAG:

 

评分:0

我来说两句

Open Toolbar