生产环境系统使用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,一台死掉的时候,另一台工作得好好的。
相关推荐
linux 查找僵死进程,重启服务,有利于知道哪些服务已经死掉进程还在
2.2.1.2 检查数据库使用状态、裸设备,清理僵死进程、临时表空间等。 2.2.1.3 清理过期的数据库归档日志释放数据库归档日志空间,并收缩数据库。 2.2.1.4 根据数据库每天监控得到的数据适当调整表空间大小、临时表...
LINUX查看和处理僵死进程的具体操作方法。
linux 下的 bash shell脚本,用于杀死僵死的进程,并重新启动.
Linux僵死进程的产生与避免.pdf
oracle杀僵死进程,解决无法停库等异常问题。
2.2.1.2 检查数据库使用状态、裸设备,清理僵死进程、临时表空间等。 2.2.1.3 清理过期的数据库归档日志释放数据库归档日志空间,并收缩数据库。 2.2.1.4 根据数据库每天监控得到的数据适当调整表空间大小、临时表...
Z代表僵死状态;T代表停止或跟踪状态。 CPU % 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。 MEM% 该进程占用的物理内存占总内存的百分比。 TIME+ 该进程自启动以来所占用的总CPU时间。如果进入的是...
行业分类-设备装置-一种僵死低效进程的识别方法和识别设备
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU时间...
原创作品,好玩小游戏,只运行在scratch,初学者必学,推荐 推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐推荐
VS2017工程源码,通过采样像素匹配花和金币,实现自动收花和金币。 适合新手练习C++,可以修改源码,做更好的处理策略。
用C#编写的《植物大战僵尸》辅助工具(外挂)实例。 提供源码,下载后即可本地运行,可快速学习一般游戏的简单外挂快速制作。
修复输入网址时僵死的问题 (Mac 下与 Wakoopa 冲突问题) 修复 widget 升级问题 修复拖曳按钮到标签栏时崩溃的问题 修复新到的邮件、新闻、订阅未索引的问题 修复一些快速拨号问题 修复一些 widget 问题 修复 ...
OPENWRT18.06网络打印机,usb打印服务安装,最新版本18.06.1软件源里只有luci-app-p910nd打印程序,不能很好兼容老打印机,没有luci-app-usb-printer....迫不及待,连接打印机,僵死的打印机又复活了。
第一阶段在PC机上学习熟悉Linux. 一.Red Hat Linux 9下的常用操作… ………………… 二.Minicom的使用….… ...3.防止僵死进程。 第四阶段用户图形界面设计 一,QT应用编程 二. Qt/Embedded和QTOPIA.
这是一个简单的swt界面,里面涉及到了一些窗口的基本控件。
这是一个令人忧伤的软件——看看你的微信好友谁删除你了
帮助您理解TCP穿透,NAT穿透,网络通信如何通过防火墙
Linux有多种机制来保证发生系统崩溃后,可以获取有价值的信息用以分析问题。确定是硬件故障,还是应用程序bug导致的。 本文介绍了几种方法来获取各种崩溃时产生的信息,并分析故障产生的原因。