我知道我可以使用 df 之类的命令行工具并执行如下操作来获取挂载点利用率:
popen("df -h /var/log | awk '{if($1==\"tmpfs\") print $5}'","r")
其中第五列是使用百分比。
我想知道是否有一种方法可以从/proc/访问挂载点利用率,例如/proc/mounts。我觉得从/proc/获取这些信息比使用 df 和 awk 来解析用法更快更有效。我已经搜索过 mntent.h 但也找不到任何有希望的东西。有什么想法吗?
最佳答案
您可能需要 statfs(2)系统调用(它不使用 /proc/
)。您可能会通过 statvfs(3) 使用它Posix 函数。
请注意,/proc/
文件系统(还有 /sys/
...)包含由内核按需生成的伪文件,没有任何 IO。参见 proc(5) .您可以按顺序阅读 /proc/self/mounts
和/或 /proc/self/mountstats
和/或 /proc/fs/
下的适当文件> 和/或 /sys/
(例如 /proc/fs/ext4/sda1/
甚至 /sys/block/sda/sda1 中的某些文件/
用于我的 台式电脑;它在你的 上会有所不同....)
也许 systemd也能给出这样的信息,只是我不够了解。
关于c - Linux:从/proc 获取挂载点利用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23116934/