所以我正在运行lsof -i | wc -l周期性地告诉我,在420行中,240到255之间处于CLOSE_WAIT状态. TCP连接如何进入此状态?
我应该担心,我应该如何排除故障?
解决方法
(我打算编辑mikegrb的答案,但我决定把它宰了一点太多)
CLOSE_WAIT几乎就是它所说的 – 内核在删除条目之前等待本地进程关闭它的文件描述符. TCP连接已被完全拆除,远端可能是连接是finito的印象,但你的结局是持有东西.
唯一的问题是很多CLOSE_WAIT条目消耗内核内存和文件描述符表条目,如果有很多堆,这可能是一个问题.如果您正在查看的条目是瞬态的,那么可能只是您在很多TCP连接中循环,并且在连接关闭和之间的少量时间内您看到它们中的一小部分.该过程绕过关闭文件描述符.另一方面,如果它们是永久性的(端口和IP地址不会随着时间的推移而改变)那么某些东西正在泄漏描述符并且需要修复它以便在它完成时它总是关闭它的fds.正如mikegrb所说,较新的版本可能已经解决了问题,因此可能需要对相关邮件列表或更改日志进行检查.