关于 Linux 上网络连接的一般问题:一旦网络连接进入 time_wait,它是否仍然与进程相关?它是否仍然使用像 filehandle 这样的资源?
我问的原因是因为一旦它进入 time_wait,lsof 就不再报告它了。我想这意味着网络连接不再与进程相关,因此不计入文件句柄限制。不过想确认一下。
关于 Linux 上网络连接的一般问题:一旦网络连接进入 time_wait,它是否仍然与进程相关?它是否仍然使用像 filehandle 这样的资源?
我问的原因是因为一旦它进入 time_wait,lsof 就不再报告它了。我想这意味着网络连接不再与进程相关,因此不计入文件句柄限制。不过想确认一下。
你的猜测是正确的。如果一个连接进入
TIME_WAIT
状态,则意味着本端已经关闭了套接字,因此它已经停止保持文件描述符在使用中。但是,它确实会消耗内核 TCP 状态表中的条目。
tcp(7)
您可以在手册页中查找一些可调参数。但是,如果您只担心单个进程的文件描述符计数限制,那没关系。请注意这里有一个重复的问题,但我认为答案不正确。