当前位置: 代码迷 >> java >> lsof的CLOSE_WAIT数
  详细解决方案

lsof的CLOSE_WAIT数

热度:97   发布时间:2023-07-27 09:38:15.0

一世

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条目,因为未显示远程地址。 它可能显示为空。

也可以看看: