Linux系统message日志报错:kernel: TCP: time wait bucket tabl

Linux系统message日志报错:kernel: TCP: time wait bucket table overflow

问题现象:

云服务器 ECS ping 外部 IP 丢包,ping 出现错误:

ping: sendmsg: Operation not permitted

同时,查询服务器 /var/log/message 日志,发现大量类似如下错误信息:

Aug 4 17:25:37 static1 kernel: TCP: time wait bucket table overflow Aug 4 17:25:37 static1 kernel: TCP: time wait bucket table overflow

问题原因:

系统 TCP TIME WAIT溢出。

解决办法:

1.通过如下指令可以统计当前的 TCP 连接数:

netstat -anp |grep tcp |wc -l

2.对比 /etc/sysctl.conf 配置文件中参数 net.ipv4.tcp_max_tw_buckets 值,看是否有超出情况。

3.如果确认已经超出,则可以编辑 /etc/sysctl.conf 配置文件,根据系统规格,适当调大 net.ipv4.tcp_max_tw_buckets 参数值

说明:

该参数并非支持无限调高,具体支持的调整值,和服务器的规格(带宽、CPU)有关。

如果调高后,还是持续报错,则评估是否是正常业务流量。 如果是正常业务流量,则建议在服务器前端引入 负载均衡 等服务来进行流量分发,以降低单台服务器的流量负载。

标签

发表评论