message日志报错:TCP: time wait bucket table overflow,K哥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了message日志报错:TCP: time wait bucket table overflow,K哥相关的知识,希望对你有一定的参考价值。

2015.9.13

message日志报错:TCP: time wait bucket table overflow


网上很多解决办法,我也是百度的,哈哈

先盗一张图,因为问题已经很久了,没截图

K哥盗图。

技术分享

这个报错需要更改net.ipv4.tcp_max_tw_buckets这个内核参数。

这个参数是系统同时保持timewait套接字的最大数量。

如果超过这个数字,time-wait套接字将立刻被清除并打印警告信息。

这个限制仅仅是为了防止简单的 DoS攻击。


解决方法:

增大 tcp_max_tw_buckets的值,并不是这个值越小越好,我看了我系统中TIME_WAIT 大部是由php-fpm产生的,是属于正常的现象。


1、查看到底有多少等待的数量

netstat -an | grep 80| awk ‘{print $6}‘ | sort | uniq -c | sort -rn

TIME_WAIT       6644

我是K哥!

2、修改我们的内核参数
vi /etc/sysctl.conf
将net.ipv4.tcp_max_tw_buckets = 5000
改为:net.ipv4.tcp_max_tw_buckets = 10000

记得更新内核配置

sysctl -p

3、再查看等待数量

netstat -an | grep 80| awk ‘{print $6}‘ | sort | uniq -c | sort -rn

等待数量会减小,日志也不会报错了。


提醒:千万不要盲目的无限制的增加net.ipv4.tcp_max_tw_buckets

因为这极可能就是DDOS攻击,盲目的增加会导致你服务器瘫痪的哦!




本文出自 “kevinzhang91” 博客,请务必保留此出处http://kevinzhang91.blog.51cto.com/12012510/1844825

以上是关于message日志报错:TCP: time wait bucket table overflow,K哥的主要内容,如果未能解决你的问题,请参考以下文章

kernel TCP time wait bucket table overflow

ZABBIX监控TCP连接状态

OpenStack报错:MessagingTimeout: Timed out waiting for a reply to message ID

jmeter测试接口-打开很多TCP的连接数TIME_WAIT状态(Linux环境)导致报错的解决方法

Failed to get properties: Connection timed out

TCP/IP协议簇之传输层