在 Linux 的 ext2/ext3/ext4 文件系统中,默认会预留 5% 的硬盘空间给 root 用户,以防止普通用户占满磁盘空间导致系统无法正常运行。因此,计算硬盘使用率时需要考虑这部分预留空间。以下是合理计算硬盘使用率的方法:
1. 查看磁盘使用情况
使用 df
命令查看磁盘使用情况:
df -h
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 30G 18G 63% /
- Size: 总空间
- Used: 已用空间
- Avail: 普通用户可用空间(已扣除预留空间)
- Use%: 使用率(已考虑预留空间)
2. 理解预留空间的影响
默认情况下,文件系统会预留 5% 的空间给 root 用户。这意味着:
- 总可用空间 = 总空间 × 95%
- 普通用户可用空间 = 总空间 × 95% - 已用空间
3. 计算硬盘使用率
硬盘使用率的计算公式为:
[
\text{使用率} = \frac{\text{已用空间}}{\text{总空间} - \text{预留空间}} \times 100%
]
其中:
- 预留空间 = 总空间 × 5%
示例
假设:
- 总空间 (
Size
) = 50GB - 已用空间 (
Used
) = 30GB
计算:
- 预留空间 = 50GB × 5% = 2.5GB
- 使用率 = 30GB / (50GB - 2.5GB) × 100% = 30GB / 47.5GB × 100% ≈ 63.16%
4. 使用 df
命令直接获取使用率
df
命令的 Use%
列已经考虑了预留空间,因此可以直接使用该值作为硬盘使用率。
5. 调整预留空间(可选)
如果认为 5% 的预留空间过多,可以通过 tune2fs
命令调整预留空间的比例。例如,将预留空间调整为 1%:
sudo tune2fs -m 1 /dev/sda1
调整后,重新计算使用率时,预留空间的比例会相应变化。
6. 总结
在 ext2/ext3/ext4 文件系统中,默认预留的 5% 空间会影响硬盘使用率的计算。df
命令的 Use%
列已经考虑了这部分预留空间,因此可以直接使用该值作为硬盘使用率。如果需要更精确的计算,可以手动计算已用空间与总空间减去预留空间的比例。