tomcat无法响应请求,假死

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

#netstat -atp | grep 8191 | wc -l

tomcat无法响应请求,假死_第1张图片

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

tomcat无法响应请求,假死_第2张图片

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

tomcat无法响应请求,假死_第3张图片

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

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

你可能感兴趣的:(tomcat无法响应请求,假死)