出现过多close_wait导致的tomcat假死

报错

我的预约挂号服务突然挂了,查看tomcat的端口号的时候出现,一堆的close_wait导致了我的tomcat假死,就算重启了,再看端口号也是一堆close_wait。
在这里插入图片描述

应急处理

因为是个网上预约挂号服务,不能停太久。
所以我没有查原因直接把所有占用我的端口的进程全杀了,然后重启,不管了,先恢复服务再查原因。
把占用端口的命令全杀了的命令:sudo kill -9 $(lsof -i:端口号 -t)

原因

查看最新日志catalina.out ,没有发现异常,也没有error 日志;查看localhost_access.log 也没有最新的访问日志,说明我这台tomcat 已不能提供服务了!
然后想到这个tomcat挂的时候正好内网出了问题,想到的是网络是问题
看看客户端已经断开连接,但服务器还在发送消息,讲道理服务器也应该要断开连接才对的。根据TCP的三次握手和四次挥手,这不对啊,
tomcat常用的三个状态是:
ESTABLISHED 正在通信
TIME_WAIT 主动关闭
CLOSE_WAIT 表示被动关闭。

避免再次出现该问题的方案

方案一

这个BUG很显然就是服务器端代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值