正确将statvfs转换为可用百分比

正确将statvfs转换为可用百分比,第1张

正确将statvfs转换为可用百分比

df
的数据可能基于而
f_bavail
不是
f_bfree
。您可能会发现查看df的源代码以了解其工作方式很有帮助。它有许多需要处理的极端情况(例如,当使用的空间超出了非root用户可用的空间量时),但是正常情况的相关代码如下:

  uintmax_t u100 = used * 100;  uintmax_t nonroot_total = used + available;  pct = u100 / nonroot_total + (u100 % nonroot_total != 0);

换句话说

100 * used / (used + available)
,四舍五入。插入df输出中的值,得到
100 * 14159676 /(14159676 + 25837672) = 35.4015371
,舍入为36%,与
df
计算得出的一样。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5009842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存