kernel: TCP: time wait bucket table overflow的问题最近用elk收集系统日志,发现某些机器有很多内核报错
网上大多数的说法是要把net.ipv4.tcp_max_tw_buckets 这个内核参数调大。但是没说原理我想了一下,其实tw_buckets的含义是time wait bucket table 这个表满了。
为什么会满?netstat -an|m...
分类:
其他好文 时间:
2015-04-01 17:42:01
阅读次数:
138
/var/log/messages 中出现大量的TCP: time wait bucket table overflow引起该现象的原因是服务器tcp的连接数太多,超出了内和定义的最大数临时改变使用# echo 20000 > /proc/sys/net/ipv4/tcp_max_tw_bucket...
分类:
其他好文 时间:
2015-03-13 12:08:23
阅读次数:
135
根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收使用.....
分类:
其他好文 时间:
2015-01-22 12:34:05
阅读次数:
213
一.time_wait状态解释1.客户端与服务器端TCP连接完闭,关闭SOCKET后,服务器端连接的端口号即为time_wait状态。linux下高并发的nginx,apache,lvs,squid等服务器生产环境下,TCP的time_wait套接字数量经常达到2,3W,此时服务器很容易被拖死或影响业务二.解决方法1.获取TIME_WA..
分类:
其他好文 时间:
2014-10-16 14:10:03
阅读次数:
183
下面我们用最简单的一对一的客户服务器模型来重现编程中遇到的一些问题:
初学socket的时候在编写socket程序的时候会遇到很多莫名其妙的问题,比如说bind函数返回的常见错误是EADDRINUSE
使用下面的程序重现这个状态:
client:
int main(int argc, const char * argv[])
{
struct sockaddr_in ...
分类:
其他好文 时间:
2014-07-19 23:36:19
阅读次数:
427