![为什么 df 中的 (free_space +used_space) !=total_size ?](https://linux22.com/image/19195/%E4%B8%BA%E4%BB%80%E4%B9%88%20df%20%E4%B8%AD%E7%9A%84%20(free_space%20%2Bused_space)%20!%3Dtotal_size%20%EF%BC%9F%20.png)
可能的重复:
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 等),日志将占用空间;