Linux系统内核提示“TCP: time wait bucket table overflow”错误

Linux系统内核提示“TCP: time wait bucket table overflow”错误

更新时间:2019-12-09 16:59:34

问题描述

在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

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。