Linux服务器的message日志报“kernel: TCP: time wait bucket table overflowt”错

Linux服务器的message日志报“kernel: TCP: time wait bucket table overflowt”错

贡献者:

KB小秘书

 · 

更新时间:2019-08-07 11:36:19

提示: 这是一篇由阿里云ACE开发者(Alibaba Cloud Engineer)贡献,针对特定用户问题发布的文章。文档的内容以原稿呈现,阿里云对于文档内容不做任何形式的承诺。阿里云有权在未经通知的情形下对文档内容做出任何形式的修改。

问题描述

  • 通过云服务器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)有关。
    • 如果调高后,还是持续保持,则评估是否是正常业务流量。 如果是正常业务流量,则建议在服务器前端引入负载均衡等服务来进行流量分发,以降低单台服务器的流量负载。

 

适用于

  • 云服务器 ECS

 

 

  • 89

    发布KB

  • 555

    回答问题

  • 1

    粉丝数