解决webserver tcp连接大量CLOSE_WAIT 问题
netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'
LAST_ACK 1
SYN_RECV 15
CLOSE_WAIT7729
ESTABLISHED 471
FIN_WAIT1 3
FIN_WAIT2 52
SYN_SENT 1
TIME_WAIT 725
从结果可以看到有大量的连接处于CLOSE_WAIT状态。
要解决这个问题的可以修改系统的参数,系统默认超时时间的是7200秒,也就是2小时。
默认如下:
tcp_keepalive_time = 7200 seconds (2 hours)
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75 seconds
意思是如果某个TCP连接在idle 2个小时后,内核才发起probe.如果probe9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效
修改后
sysctl -w net.ipv4.tcp_keepalive_time=30
sysctl -w net.ipv4.tcp_keepalive_probes=2
sysctl -w net.ipv4.tcp_keepalive_intvl=2
经过这个修改后,服务器会在短时间里回收没有关闭的tcp连接。
解决webserver tcp连接大量CLOSE_WAIT 问题相关推荐
- php closewait,Linux网络tcp连接大量CLOSE_WAIT和TIME_WAIT状态的出现和解决方法
关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主 ...
- TCP连接大量CLOSE_WAIT状态问题排查
CLOSE_WAIT产生原因 close_wait是被动关闭连接是形成的,根据TCP状态机,服务器端收到客户端发送的FIN,TCP协议栈会自动发送ACK,链接进入close_wait状态.但如果服务器 ...
- 【案例分析】Linux和Windows在TCP数据包上的差异+网闸兼容问题引发的TCP连接失败故障分析
1.前言 出于项目保密原因,本文所提及的IP地址并非真实IP地址,其余技术细节均与案例实际环境相同,供学习交流参考. 2.案例背景 我们前段时间接到项目现场工程师电话,对方称他们新上架了一台Linux ...
- TCP连接状态详解及TIME_WAIT过多的解决方法
TCP建立连接的三次握手过程,以及关闭连接的四次握手过程. TCP建立连接的三次握手过程,以及关闭连接的四次握手过程. 1.建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务 ...
- 【Linux网络编程笔记】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—实践篇
1. 查看系统网络配置和当前TCP状态 在定位并处理应用程序出现的网络问题时,了解系统默认网络配置是非常必要的.以x86_64平台Linux kernelversion 2.6.9的机 ...
- TCP连接(Time_Wait、Close_Wait)说明
修改Time_Wait和CLOSE_WAIT时间 修改Time_Wait参数的方法 (在服务端修改) Windows下在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl ...
- 【Tcp】TCP连接中存在大量TIME_WAIT、CLOSE_WAIT的原因【转】
TCP连接中存在大量TIME_WAIT.CLOSE_WAIT的原因 TCP通信图 TIME_WAIT CLOSE_WAIT TCP通信图 TIME_WAIT 表示客户端主动关闭socket. 原因: ...
- Tcp连接出现大量ESTABLISHED连接解决方法
TCP状态转移要点 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放.网络服务器程序要同时管理 ...
- 服务器tomcat网络不稳定,tomcat服务器tcp连接出现大量ESTABLISHED连接导致前端访问502解决方法...
tomcat服务器tcp连接出现大量ESTABLISHED连接导致前端访问502解决方法 1.1 TCP状态转移要点 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺 ...
最新文章
- Java、JavaEE、JavaSE、JavaME、JavaWEB之间有什么区别?
- SCVMM 2012 R2运维管理十三之:将资源添加到VMM库
- php获取信息,PHP文件信息获取函数
- Python 基础学习 4 ——字典
- 部署腾讯云(CentOS6.6版本,jdk1.7+tomcat8+mysql)
- 安卓Toast显示提示消息(自定义view,根据子线程消息显示提示)
- iOS6中旋转的略微改变
- android log4j日志管理的使用
- 第四届“传智杯”全国大学生IT技能大赛(决赛B组)
- java修改头像代码_用户修改头像功能
- 《博弈论全家桶》(ACM / OI)(超全的博弈论 / 组合游戏大合集)
- 带你用最简单的方式获得小米完整root权限(无需刷第三方rom)
- Windows7 换XP 字体 (QQ字体,桌面字体) 为宋体
- java中valueof_JAVA中intValue()和ValueOf()什么意思,还有Value什么意思
- java 多线程发送邮件_多线程实现发送邮件功能
- limits.conf文件_Limits.conf文件限制用户,在Linux中通过示例进行处理
- pg之使用pg_upgrade进行大版本升级
- python如何实现图像中特定颜色的种类识别及特定颜色的占比代码
- 最新边信息推荐系统综述Research Commentary on Recommendations with Side Information: A Survey and Research Direc
- Java 以任意数量空格分割字符串方式