kernel: TCP: time wait bucket table overflow

1、报错信息

Feb 11 10:46:05 yfnj_253 kernel: TCP: time wait bucket table overflow
Feb 11 10:46:05 yfnj_253 kernel: TCP: time wait bucket table overflow
Feb 11 10:46:05 yfnj_253 kernel: TCP: time wait bucket table overflow
Feb 11 10:46:05 yfnj_253 kernel: TCP: time wait bucket table overflow
Feb 11 10:46:05 yfnj_253 kernel: TCP: time wait bucket table overflow

2、解决方法

[root@yfnj_253 ~]# vim /etc/sysctl.conf

net.ipv4.tcp_max_tw_buckets = 6000

[root@yfnj_253 ~]# netstat -na|awk ‘/^tcp/{++S[$NF]};END {for(a in S)print a,S[a]}’
TIME_WAIT 5784
FIN_WAIT1 113
FIN_WAIT2 140
ESTABLISHED 1325
SYN_RECV 29
LAST_ACK 23
LISTEN 26

[root@yfnj_253 ~]# vim /etc/sysctl.conf

net.ipv4.tcp_max_tw_buckets = 8000 //修改为8000

[root@yfnj_253 log]# tail messages

[root@yfnj_253 log]# sysctl -p //使更改参数生效

[root@yfnj_140_253 log]# netstat -na|awk ‘/^tcp/{++S[$NF]};END {for(a in S)print a,S[a]}’
TIME_WAIT 6633
CLOSE_WAIT 1
FIN_WAIT1 141
FIN_WAIT2 180
ESTABLISHED 1335
SYN_RECV 32
CLOSING 7
LAST_ACK 25
LISTEN 26

报错日志没有增加,问题暂时解决!

3、报错原因

 

服务器的TCP连接数,超出了内核定义最大数。

net.ipv4.tcp_max_tw_buckets这个参数是系统同时保持timewait套接字的最大数量。如果超过这个数字,time-wait套接字将立刻被清除并打印警告信息。这个限制仅仅是为了防止简单的 DoS攻击,不能过分依靠它或者人为地减小这个值,如果网络实际需要大于缺省值,更应该增加这个值。

此条目发表在技术生涯分类目录,贴了标签。将固定链接加入收藏夹。