问题概述
linux 实例的/var/log/messages
日志报错 “kernel: TCP: time wait bucket table overflow
“,提示”time wait bucket table
” 溢出
xxx xx xx:xx:xx xx kernel: TCP: time wait bucket table overflow
xxx xx xx:xx:xx xx kernel: TCP: time wait bucket table overflow
问题原因
参数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 -antp|grep tcp|wc -l
2.对比/etc/sysctl.conf 文件,查询net.ipv4.tcp_max_tw_buckets
参数。如果确认连接使用很高,则容易超出限制。
3.如果确认已经超出,则可以编辑/etc/sysctl.conf
配置文件,根据系统规格,适当调大net.ipv4.tcp_max_tw_buckets 参数值
4.执行sysctl -p
命令,使配置生效
本文由 @卡卡 发布于弱电智能网 。
题图来自Unsplash,基于CC0协议
内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
文章名称:《Linux 中 kernel: TCP: time wait bucket 报错怎么解决?》
文章链接:https://www.ruodian360.com/tech/sytemops/45610.html
添加微信ydian188免费入群,记得备注“弱电智能网”。