我们正在尝试通过 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