tomcat无法响应请求,假死

本文分析了线上Tomcat服务器运行中出现大量CLOSE_WAIT状态,导致服务假死的问题。通过dump线程堆栈并使用JVisualVM工具定位到HTTP请求处理中的代码问题,发现是由于未及时关闭HTTP连接所致。修改代码后,问题得以解决。
摘要由CSDN通过智能技术生成

线上的Tomcat运行一段时间就会假死,通过netstat查看端口情况会发现tomcat的端口出现大量的CLOSE_WAIT,此时Tomcat会停止响应前端请求,同时服务端的日志,操作等将全部停止,而且没有出现任何异常。

#netstat -atp | grep 8191 | wc -l

肯定是代码问题,于是将服务器线程堆栈dump下来分析具体的问题,好在jdk下面提供了各种工具给我们,bingo,打开jvisualvm,导入线程堆栈信息,发现全是http的请求:

接下来可以看具体的哪行代码导致的:

因为代码里面大量的创建http链接,而未进行及时关闭导致,改掉之后重新上线,观察一段时间后再也没出现。

转载于:https://www.cnblogs.com/John-2011/p/9018683.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值