对于同一根文件系统,为什么 sar 为我提供了 8.14% 的已使用根文件系统,而 df -h 为我提供了 9% 的根文件系统?我想 df 可能会四舍五入该值,但如果是这样的话,那就是 8%。
localhost one # sar -F 1 1
Linux 4.4.26-gentoo (localhost) 05/15/17 _x86_64_ (8 CPU)
18:39:08 MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
18:39:09 118401 10485 8.14 13.23 7853529 535079 6.38 /dev/mapper/root
18:39:09 463 25 5.14 12.48 32403 365 1.11 /dev/sda1
Summary: MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
Summary: 118401 10485 8.14 13.23 7853529 535079 6.38 /dev/mapper/root
Summary: 463 25 5.14 12.48 32403 365 1.11 /dev/sda1
localhost one # df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 4.0K 10M 1% /dev
/dev/mapper/root 126G 11G 110G 9% /
tmpfs 794M 492K 793M 1% /run
shm 3.9G 19M 3.9G 1% /dev/shm
cgroup_root 10M 0 10M 0% /sys/fs/cgroup
/dev/sda1 488M 26M 428M 6% /boot
答案1
如果将已用空间除以总空间,则得到 10485/(118401+10485) ≈ 0.08135,四舍五入为 8.14%。
默认情况下,在 ext2/ext3/ext4 文件系统上,5% 的空间保留给 root。该命令显示的“Avail”值df
不包括总空间中的该预留空间(即按照总空间的95%进行计算,这是非root用户可以使用的全部空间),因此计算其结果为 10485 / ((118401+10485)*0.95) ≈ 0.08563,四舍五入为 9%。
保留的空间允许系统在快满后继续运行一段时间。例如,日志仍然可以写入一段时间,这对于诊断磁盘填充情况有很大帮助。对于不包含 的分区/var
,保留空间的用处不大,但 95% 已满的文件系统无论如何都可能会产生碎片,因此对于性能而言,超出此范围是一个坏主意。