linux 大量time_wait的解决方法
2024-08-26 16:14:01
通过调整内核参数解决
vi /etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然后执行/sbin/sysctl -p让参数生效。
net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout修改系統默认的TIMEOUT时间
修改之后,再用命令查看TIME_WAIT连接数
netstat -ae|grep “TIME_WAIT” |wc –l
Time_Wait的默认时间是2倍的MLS,就是240秒钟。MLS是TCP片在网上的最长存活时间。
TIME_Wait的主要作用是保证关闭的TCP端口不立即被使用。因为当网络存在延迟时,可能当某个端口被关闭后,网络中还有一些重传的TCP片在发向这个端口,如果这个端口立即建立新的TCP连接,则可能会有影响。所以使用2倍的MSL时间来限制这个端口立即被使用。
最新文章
- Shell脚本_备份/etc数据
- 无损破解Android图案密码及原理
- .net mvc Bundle 问题解决方案
- spark共享变量
- C#.NET 消息机制
- nutch安装配置
- asp.net DropDownList无刷新ajax二级联动实现详细过程
- 关于android app两次点击返回键退出的处理
- Linux下,查看网络配置(IP,Gateway,DNS)
- javascript操作正则表达式对象的方法总结
- jsp:include动作功能
- ASP.NET Core 微服务初探[1]:服务发现之Consul
- 006 numpy常用函数
- elasticsearch安装之各种坑
- la 4394
- mysql 冷热备份
- RedHat6.5安装zookeeper单机
- (转)OWASP ZAP下载、安装、使用(详解)教程
- 1月21日 Reference Data Type 数据类型,算法基础说明,二分搜索算法。(课程内容)
- Rookey.Frame之数据库及缓存配置