为什么 df 中的 (free_space +used_space) !=total_size ?

为什么 df 中的 (free_space +used_space) !=total_size ?

可能的重复:
ext4:如何占用文件系统空间?

我有一个 ~2TB ext4 USB 外部磁盘,大约已满:

$ df 
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdc             1922860848 927384456 897800668  51% /media/big

我想知道为什么总大小(1922860848)与已用+可用(1825185124)不同?从这个答案我看到 5% 的磁盘可能会保留给 root,但这仍然只会使已使用的总数达到 1921328166,这仍然是关闭的。它与其他文件系统开销有关吗?

如果相关,则lsof -n | grep deleted显示该磁盘上没有已删除的文件,并且该磁盘内没有安装其他文件系统。

编辑:根据要求,这是输出tune2fs -l /dev/sdc

tune2fs 1.41.14 (22-Dec-2010)
Filesystem volume name:   big
Last mounted on:          /media/big
Filesystem UUID:          5d9b9f5d-dae7-4221-9096-cbe7dd78924d
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              122101760
Block count:              488378624
Reserved block count:     24418931
Free blocks:              480665205
Free inodes:              122101749
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      907
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Wed Nov 23 14:13:57 2011
Last mount time:          Wed Nov 23 14:14:24 2011
Last write time:          Wed Nov 23 14:14:24 2011
Mount count:              2
Maximum mount count:      20
Last checked:             Wed Nov 23 14:13:57 2011
Check interval:           15552000 (6 months)
Next check after:         Mon May 21 13:13:57 2012
Lifetime writes:          144 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      68e954e4-59b1-4f59-9434-6c636402c3db
Journal backup:           inode blocks

答案1

没有缺失的空间。 5% 保留四舍五入到最接近的有效数字。

1k块:1922860848

保留的 1k 块:(24418931 * 4) = 97675724

使用的总块数:927384456 + 897800668 + 97675724 = 1922860848

编辑:关于您对 df 块和“块计数”块之间差异的评论。

所以 4k 块差为 (1953514496 - 1922860848)/4 = 7663412

大部分“差异”由“每组索引节点块”参数组成,该参数为 512。

由于每组有 32768 个块,因此组数为 488378624 / 32768,即 14904 向下舍入。

乘以它占用的 512 个块,得到 7630848 个块。

这样就有 7663412 - 7630848 = 32564 下落不明。我认为这些块构成了你的日记大小,但对此不太确定!

答案2

如果您使用日志文件系统(ext3、ext4 等),日志将占用空间;

相关内容