良许Linux教程网 Linux教程 Linux系统日志报“Time wait bucket table overflow”错误

Linux系统日志报“Time wait bucket table overflow”错误

问题现象

  • Linux系统日志/var/log/messages中全是类似“kernel: TCP: time wait bucket table overflow”的报错信息,提示“time wait bucket table”溢出,系统显示类似如下。

    Feb 18 12:28:38 i-*** kernel: TCP: time wait bucket table overflow
    Feb 18 12:28:44 i-*** kernel: printk: 227 messages suppressed.
    Feb 18 12:28:44 i-*** kernel: TCP: time wait bucket table overflow
    Feb 18 12:28:52 i-*** kernel: printk: 121 messages suppressed.
    Feb 18 12:28:52 i-*** kernel: TCP: time wait bucket table overflow
    Feb 18 12:28:53 i-*** kernel: printk: 351 messages suppressed.
    Feb 18 12:28:53 i-*** kernel: TCP: time wait bucket table overflow
    Feb 18 12:28:59 i-*** kernel: printk: 319 messages suppressed.
  • 执行以下命令,统计处于TIME_WAIT状态的TCP连接数,发现处于TIME_WAIT状态的TCP连接非常多。

    netstat -ant|grep TIME_WAIT|wc -l

原因分析

参数net.ipv4.tcp_max_tw_buckets可以调整内核中管理TIME_WAIT状态的数量。当实例中处于TIME_WAIT状态,及需要转换为TIME_WAIT状态的连接数之和超过net.ipv4.tcp_max_tw_buckets参数值时,messages日志中将报“time wait bucket table” 错误,同时内核关闭超出参数值的部分TCP连接。您需要根据实际情况适当调高net.ipv4.tcp_max_tw_buckets参数,同时从业务层面去改进TCP连接。

解决方法

  1. 执行以下命令,统计TCP连接数。

    netstat -anp |grep tcp |wc -l
  2. 执行以下命令,查询net.ipv4.tcp_max_tw_buckets参数。如果确认连接使用很高,则容易超出限制。

    vi /etc/sysctl.conf
  3. 根据现场情况,增加net.ipv4.tcp_max_tw_buckets参数值的大小。

  4. 执行sysctl -p命令,使配置生效。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部