努力
加油

购买阿里云服务器时,系统盘显示100GiB实际可用空间是多少?

直接给结论:100GiB 的系统盘,在 Linux 系统下通常显示为约 93.15 GiB(或 95.37 GB),在 Windows 系统下通常显示为约 93.15 GiB。

这里涉及两个核心概念混淆:二进制单位(GiB)与十进制单位(GB)的换算,以及文件系统预留空间。

1. 为什么“100”变成了“93.x”?

这是最常被误解的地方。阿里云控制台显示的“100GiB”,指的是 Binary Gibibyte (GiB),而操作系统(无论是 Windows 还是 Linux)默认以 Binary Gigabyte (GiB) 来显示容量,但很多用户习惯用十进制的思维去理解。

  • 阿里云/国际标准定义:

    • 1 TiB = 1024 GiB
    • 1 GiB = 1024 MiB
    • 1 MiB = 1024 KiB
    • 1 KiB = 1024 Bytes
    • 所以,100 GiB = 100 × 1024 × 1024 × 1024 = 107,374,182,400 字节
  • Windows 系统的显示逻辑:
    Windows 使用二进制前缀,但它把 1024 MB 称为 1 GB。

    • 计算方式:107,374,182,400 Bytes / 1024 / 1024 / 1024 ≈ 93.15 GiB
    • 所以在 Windows 磁盘管理中,你会看到大约 93.15 GB 的可用空间。
  • Linux 系统的显示逻辑:
    Linux 命令如 df -h 同样基于二进制计算。

    • 100 GiB 的磁盘分区,格式化后,df -h 显示的大小也是 93G 左右。

✅ 简单记忆公式:
云厂商标称的 GiB 数 ÷ 1.074 ≈ 操作系统看到的 GiB 数
100 ÷ 1.074 ≈ 93.15


2. 实际可用空间还会更少吗?——文件系统开销

上面算出的 93.15 GiB 是分区总大小,不是“你能存文件的可用空间”。因为文件系统本身需要占用少量空间用于元数据管理。

(1)ext4 文件系统(Linux 主流)

  • ext4 默认会预留 5% 的空间给 root 用户,防止普通用户写满磁盘导致系统崩溃。
  • 如果非 root 用户登录,可用空间会更少。
  • 计算公式:93.15 GiB × (1 - 0.05) ≈ 88.5 GiB
  • 但你可以通过命令调整这个比例:
    sudo tune2fs -m 0 /dev/vda1  # 将预留比例设为 0%

    设置后,可用空间接近 93.15 GiB。

(2)NTFS 文件系统(Windows 主流)

  • NTFS 也有少量元数据开销,但相比 ext4 的 5% 预留,它没有强制保留 5% 给管理员。
  • 实际可用空间略低于 93.15 GiB,大约在 93.0 ~ 93.1 GiB 之间,差异极小,可忽略不计。

(3)XFS 文件系统(部分新实例推荐)

  • XFS 几乎不预留空间,可用空间非常接近分区总大小,即 ~93.15 GiB。

3. 特殊情况:快照与备份

如果你开启了自动快照策略或手动创建了快照,这些快照不会立即占用额外磁盘空间(因为是 CoW 写时复制),但随着时间推移和文件变更,快照数据会存储在 OSS 或底层存储中,不影响本地磁盘可见容量。

但如果你的磁盘类型是ESSD PL0/PL1/PL2 等高性能盘,且启用了云盘加密,也不会影响可见容量。


4. 如何验证你服务器的实际可用空间?

Linux 用户:

# 查看各分区使用情况
df -h

# 示例输出:
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        93G   20G   73G  22% /

这里的 Avail 就是当前剩余可用空间。注意看 Size 列是否为 93G 左右。

Windows 用户:

  1. 打开“此电脑” → 右键 C 盘 → “属性”
  2. 查看“已使用空间”和“可用空间”
  3. 或者打开“磁盘管理”,查看 C 盘卷的总容量是否约为 93.15 GB

总结

项目 数值
阿里云购买规格 100 GiB
操作系统识别总容量 ~93.15 GiB(因 1024 vs 1000 换算)
Linux ext4 默认预留 5% 后 ~88.5 GiB
Linux ext4 关闭预留后 ~93.15 GiB
Windows NTFS 实际可用 ~93.0–93.1 GiB

✅ 最终答案:
你买的是 100 GiB,系统里看到的是 约 93.15 GiB。这是正常现象,不是缩水,也不是 Bug,而是计算机存储单位换算的标准规则。如需最大化可用空间,建议在 Linux 上执行 tune2fs -m 0 取消 5% 预留。