无法通过 lsof 计算所有打开的文件 + lsof 已挂起

无法通过 lsof 计算所有打开的文件 + lsof 已挂起

我们正在尝试通过 lsof 来计算所有打开的文件

lsof | wc -l
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/42/gvfs
      Output information may be incomplete.

但 1 小时后 lsof 仍未重新运行答案(就像卡住了一样)

还有其他方法可以计算所有文件吗?

我们有 redhat 7.2 版本

  • 我猜我们也有 CLOSE_WAIT 条目消耗内核内存

其次,我们需要找到哪个应用程序消耗了最多的打开文件,

答案1

使用-b选项告诉 lsof 不要使用可能阻塞的内核函数。

您可以CLOSE_WAIT使用以下方式排除套接字-iTCP -sTCP:^CLOSE_WAIT

lsof -b -iTCP -sTCP:^CLOSE_WAIT

相关内容