我的 eMMC 设备有一个分区,该分区报告 df -h 命令的以下输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk2p3 16Z 16Z 84M 100% /data
不过分区大小为 100MB!分区格式为ext4。如上所示,输出报告了已用空间的巨大值。实际上,该分区仅使用了大约 5MB,但由于某种原因 df 报告了巨大的价值。当我通过 du -sh 命令检查分区使用的大小时,它报告以下内容:
#du -sh
5.8MB
我还通过une2fs命令检查了输出,下面是我得到的结果:
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 25688
Block count: 102400
Reserved block count: 5120
Overhead blocks: 50343939
Free blocks: 87634
Free inodes: 25190
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Fragments per group: 8192
Inodes per group: 1976
Inode blocks per group: 247
Flex block group size: 16
Filesystem created: Thu Nov 21 06:38:03 2019
Last mount time: Thu Mar 10 13:20:58 2022
Last write time: Thu Mar 10 13:20:58 2022
Mount count: 31
Maximum mount count: -1
Last checked: Sat Jan 22 08:17:33 2022
Check interval: 0 (<none>)
Lifetime writes: 604 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
知道什么是开销块以及为什么开销块显示巨大的数字吗?尽管 df 命令的输出表明使用率为 100%,但我仍然能够在分区中创建文件。知道如何确保 df 命令返回正确的值而不是 100% 使用率,或者如何清除une2fs 中列出的“开销块”?
我的脚本会检查分区的使用百分比,如果使用率 >70%,则删除文件。由于 df 命令始终显示 100% 使用率,因此它始终会删除任何文件。请让我知道 df 命令是否适合使用或者我应该使用像 du 这样的其他命令。