“神秘的”磁盘空间缺失

磁盘已用空间+剩余空间 < 总空间

http://www.microhowto.info/ho…

ext2及之后的文件系统会预留5%空间给root和daemon service防止在磁盘满的情况下系统无法工作。因此无论是使用df还是statvfs得到的已使用剩余空间之和总是小于总大小的——总大小包含了保留空间,而剩余已使用却不包含。
正确的公式应该是:系统已使用空间 + 系统可用空间 + 系统预留空间 = 文件系统总空间

附赠python版本的df功能。

def get_df_info(path):
    statvfs = os.statvfs(os.path.realpath(path))
    total = (statvfs.f_frsize * statvfs.f_blocks) / 1024
    available_real = statvfs.f_frsize * statvfs.f_bavail / 1024
    available = (statvfs.f_frsize * statvfs.f_bfree) / 1024
    used = total - available
    return total, used, available_real
    原文作者:liuyix
    原文地址: https://segmentfault.com/a/1190000008133575
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞