df 报告 100% 完整的文件系统,du 显示仅使用 25%,即使没有未链接的文件

df 报告 100% 完整的文件系统,du 显示仅使用 25%,即使没有未链接的文件

我有一个奇怪的问题,df显示 rootfs 已 100% 满,但du显示已使用 25%。因此,我使用检查来自 rootfs 的未链接文件lsof +aL1 /,它没有显示任何来自 rootfs 的已删除/未链接文件。我find /proc/*/fd -ls | grep '(deleted)'也尝试过,它没有显示任何来自 rootfs 的未链接文件!

Inode 使用率仅为 9%

答案1

正如评论中所建议的, abind mount可能会隐藏命令中的文件和目录du。但也可能还有其他的事情......

以下内容可能会有所启发:

% strace -e statfs df /         
statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=6288727, f_bfree=4705740, f_bavail=4380531, f_files=1605632, f_ffree=1412254, f_fsid={1878967121, -50608953}, f_namelen=255, f_frsize=4096}) = 0
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       25154908 6331948  17522124  27% /
+++ exited with 0 +++

f_bfree请注意,和之间存在差异f_bavail。从man statfs

fsblkcnt_t f_bfree;   /* Free blocks in filesystem */
fsblkcnt_t f_bavail;  /* Free blocks available to
                         unprivileged user */

Used列基于计算:总块数 - 空闲块数。

相关内容