← 全部文章

技术与生活 / 一篇记录

df 说满了,du 却没那么大

文件系统的可用空间和目录中可见文件的总量,并不是同一个统计口径。挂载点、权限不足以及仍被进程持有的已删除文件,都可能让两边数字看起来对不上。

df 查看文件系统空间,du 统计目录中的文件占用,两者回答不同问题。

实际怎么检查

以下示例面向常见 GNU/Linux 环境,文件名为实验用占位名称。

df -h .; du -sh .

在同一挂载点比较目录占用与可用空间。

遇到异常再检查什么

先确保比较的是同一个文件系统,再检查隐藏的大目录与进程打开文件。不要根据一次 du 结果就断言空间统计出错,也不要立即删除更多文件。

目录统计也可能跨越其他挂载点,把另一块磁盘内容算进来。比较前检查挂载关系,必要时限定在同一文件系统。清理前保存占用快照,之后才能判断空间是否按预期释放。

已删除但仍被进程打开的文件会导致两者不一致。

参考:Linux 文档。

搜索文章

输入关键词,找回一篇记录。