Chinaunix

标题: time_wait 个数过多 [打印本页]

作者: kaede_1    时间: 2015-09-18 11:09
标题: time_wait 个数过多
背景:写了一个线程池,有数据过来后发送http push,实现上调用的是libcurl。可是运行一段时间后,执行命令netstat,发现有好多个TIME_WAIT,多的时候有1000多个,但是几分钟后又缩小为几个(可能是数据来时占的比较多,数据处理后就close了)

从网上查了一下,有人说通过修改配置文件/etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
然后执行命令:/sbin/sysctl -p是配置生效。但是我配置了TIME_WAIT的数量基本上没变化。。。

再次检查了代码,发现在线程函数内,每发送一条数据后会调用curl_easy_cleanup清空句柄,后来想一下,既然是线程池,可不用每发送一条数据后就cleanup。可是注释掉后查看数量仍然没什么变化。。。


请问:
1.如果能使TIME_WAIT的数量下降?
2.就算TIME_WAIT的个数有1000多个,应该不会对系统有什么影响吧?

多谢!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2