我知道我可以使用命令行工具(如df)获取挂载点利用率,并执行以下操作:
popen("df -h /var/log | awk '{if($1==\"tmpfs\") print $5}'","r")
其中第五列是使用百分比。
我想知道的是,是否有办法从/ proc /访问挂载点利用率,例如/ proc / mounts。我觉得从/ proc /获取这些信息比使用df和awk解析用法更快更有效。我搜索过mntent.h,但也找不到任何有希望的东西。有什么想法吗?
答案 0 :(得分:5)
您可能想要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也可以提供此类信息,但我不太了解它。