linux – 非cpu密集型替代lsof?
|
我们运行一个 Apache Cassandra集群,每个主机在任何给定时间都有几十万个文件打开. 我们希望能够定期获取打开文件的数量并将此数字输入graphite,但是当我们在 我想知道是否有一种替代和更友好的方法来获取lsof提供的相同数据,甚至是一种运行lsof的方式,它不会明显地进入CPU? (虽然我认为后一种方法可能需要比现在更长的时间来完成…不理想). 也许内核在某个地方维护一些包含打开文件数量的变量?妄想? 更新: 响应其中一个答案,我们已经使用了-b和-n标志.这是完整的命令,因为我在collectd下运行它: sudo lsof -b -n -w | stdbuf -i0 -o0 -e0 wc -l 解决方法您可能不需要解析套接字的网络地址,因此至少使用-n开关.那么你可能也想要使用-b跳过阻塞操作. 这两个第一个开关应该真的让它更快. 然后-l以避免解决uid.和-L以避免计算链接.等等.见man lsof. 或者,使用Linux,您可以创建一个脚本来简单地计算/ proc /< PID> / fd下的链接,如下所示: find / proc -mindepth 3 -maxdepth 3-type l | awk -F /’$4 ==“fd”{s} END {print s}’ (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 一台服务器,两台APC UPS上的冗余电源:
- Linux / Unix – / etc / sudoers – 主机定义
- linux – Bash,Shell,UXTerm和Terminal之间的区别
- 在我的程序中使用OpenBSD的malloc,realloc和free
- linux – 在命令行中复制一系列文件(ZSH / BASH)
- Ubuntu上的Java安装问题
- linux – 安装gtk和glib
- 如何在Linux(特别是Fedora 9)上使我的默认(或任何
- linux-kernel – 从压缩的内核映像中获取uname信
- linux – 脚本mdadm当组件设备可能包含ext2文件系
