Linux系统内核提示“TCP: time wait bucket table overflow”错误的解决方法
爆款产品 阿里云低至1折 http://buy.zhiy.com.cn
问题描述
在Linux系统中内核异常,并提示如下错误。
TCP: time wait bucket table overflow
问题原因
net.ipv4.tcp_max_tw_buckets参数的值设置过小。
解决方案
tcp_max_tw_buckets表示系统同时保持TIME_WAIT状态的Sockets最大数量,如果超过这个数字,TIME_WAIT状态的Socket会被结束并且提示告警信息。之所以要设置net.ipv4.tcp_max_tw_buckets参数的限制,是为了抵御简单的DoS攻击。若无其他原因不要人为降低此限制,如果网络条件需要比默认值高,将net.ipv4.tcp_max_tw_buckets参数的值调高或者增加内存。
1.登录Linux实例,执行如下命令,编辑如下文件。
vim /etc/sysctl.conf
将net.ipv4.tcp_max_tw_buckets参数的值调整为“20000”,如下所示。
net.ipv4.tcp_max_tw_buckets = 20000
2.执行如下命令,使配置生效。
sysctl -p
3.执行如下命令,可查看不同连接数的状态。
netstat -an | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -rn
适用于
•云服务器 ECS
如果您有其他问题,可以联系北京优胜智连阿里云代理商,为您提供一对一专业全面的技术服务,同时新/老阿里云会员,均可享受我公司代理商价格,欢迎咨询!