最近在服务器上查看系统日志的时候发现大量的报错,内容如下:

localhost kernel: TCP: time wait bucket table overflow

google一番之后,发现是由于服务器的连接数都处于“TIME_WAIT ”状态,然后用命令查询了下:

# netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | sort -rn

LISTEN 11
ESTABLISHED 514
CLOSE_WAIT 19
TIME_WAIT  864

由于太多TIME_WAIT  导致服务器对客户端的连接不能进行及时处理。

解决的方法就是更改系统配置参数:

#vi /etc/sysctl.conf

将net.ipv4.tcp_max_tw_buckets的数值增大

然后   sysctl -p 生效