[英]Number of CLOSE_WAIT with lsof
一世
lsof | grep CLOSE_WAIT | wc -l
在Ubuntu 14.04 LTS上
我得到了显示的PID和TID。 在一个具有x个线程的java proc上有70个CLOSE_WAIT。
但是,如果我这样做
lsof -i | grep CLOSE_WAIT |wc -l
我只有1,这是Java进程(没有TID)。
这是否意味着我们无法通过执行lsof -i来可靠地确定FS泄漏? 我们总是必须使用“ lsof”吗?
作为补充,没有人知道为什么ELB没有关闭连接吗?
java 9645 9863 ubuntu 133u IPv4 19375 0t0 TCP ip-10-20-187-89:51548->ec2-100-200-86-25.compute-1.amazonaws.com:https (CLOSE_WAIT) java 9645 9864 ubuntu 133u IPv4 19375 0t0 TCP ip-10-20-187-89:51548->ec2-100-200-86-25.compute-1.amazonaws.com:https (CLOSE_WAIT) java 9645 9865 ubuntu 133u IPv4 19375 0t0 TCP ip-10-20-187-89:51548->ec2-100-200-25.compute-1.amazonaws.com:https (CLOSE_WAIT) java 9645 9902 ubuntu 133u IPv4 19375 0t0 TCP ip-10-20-187-89:51548->ec2-100-200-25.compute-1.amazonaws.com:https (CLOSE_WAIT)
谢谢,
我建议参考这样的图表 。 TCP连接不被认为是封闭的,每一端都发送FIN并获得ACK。
如此处所述 。 CLOSE_WAIT
通常指示远程端已发送FIN,并已被本地端确认,但本地端尚未发送FIN。
您可能看不到lsof -i
剩下的CLOSE_WAIT条目,因为未显示远程地址。 它可能显示为空。
也可以看看:
https://superuser.com/questions/173535/what-are-close-wait-and-time-wait-states
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.