df -h
我想知道为什么报告的文件系统大小与手动计算的文件系统大小之间存在差异。例如:
根据LVM的大小:
# lvdisplay system/var | grep -i size
LV Size 4.00 GiB
人类可读:
# df -h /var
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-var 4.0G 361M 3.4G 10% /var
以 KB 为单位的块大小:
# df -k /var
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/system-var 4128448 369480 3549256 10% /var
并根据 KB 计算 GB:
# perl -E 'say $_/(1024*1024) foreach ( 4128448 , 369480 , 3549256 );'
3.93719482421875
0.352363586425781
3.38483428955078
3.93G 与 4G 相差太远,无法考虑四舍五入。而 360.8203125 似乎足够接近 361,3.38G 与 3.4G 也是如此。
那么为什么文件系统总大小会存在差异呢?如果是四舍五入,为什么总大小应该固定为 4GB 时还需要四舍五入?