GiB和GB有什么区别?云服务器配置中常用哪个单位?

GiBGB 的核心区别在于它们采用的进制标准不同,这导致了它们在数值上存在约 7.3% 的差距。

1. 核心区别:进制不同

  • GB (Gigabyte)

    • 定义:基于十进制(国际单位制 SI)。
    • 计算方式:$1 text{ GB} = 10^9 text{ Bytes} = 1,000,000,000 text{ Bytes}$。
    • 常见场景:硬盘厂商(如希捷、西部数据)在标注硬盘容量时通常使用此单位;网络带宽速度(如 100Mbps)也常隐含使用十进制概念。
  • GiB (Gibibyte)

    • 定义:基于二进制(IEC 标准),是计算机操作系统内部处理数据的真实逻辑。
    • 计算方式:$1 text{ GiB} = 2^{30} text{ Bytes} = 1,073,741,824 text{ Bytes}$。
    • 常见场景:Windows、Linux 等操作系统在显示内存、文件系统大小时使用的单位。

数值换算对比:
$$1 text{ GiB} approx 1.074 text{ GB}$$
反之,如果你购买了一个标称 100 GB 的硬盘,在 Windows 系统中查看时,显示的容量约为:
$$100 div 1.074 approx 93.1 text{ GiB}$$
这就是为什么新买的硬盘在电脑里“少了几 GB"的原因——并不是被偷了,而是计算标准不同。


2. 云服务器配置中常用哪个单位?

在云服务器的配置文档、控制台界面以及计费说明中,绝大多数情况使用的是 GB

具体情况分析:

  1. 内存与磁盘容量(售卖/配置)

    • 单位GB
    • 原因:这是行业通用的商业标准。当你看到云服务商(如阿里云、AWS、腾讯云)提供 "4GB 内存” 或 "50GB 系统盘” 时,这里的 GB 指的是 $10^9$ 字节(或者更准确地说是为了方便销售而简化的商业单位)。
    • 注意:虽然底层物理硬件和操作系统可能按二进制计算,但在对外宣传、定价和购买选项上,云厂商统一使用 GB
  2. 操作系统内显示

    • 单位GiB(或显示为 GB 但实际值为 GiB)。
    • 现象:当你登录到云服务器(Linux/Windows)内部,使用 free -hdf -h 命令查看时,系统可能会显示 GiB(例如 Linux 下常显示 MiBGiB),或者虽然标签写着 GB 但数值是按二进制计算的。
    • 例子:你购买了 4 GB 内存的实例,进入系统后,free -m 可能显示可用内存略小于 4096 MB(约 3932 MiB/GiB 级别),因为系统扣除了一些保留内存并采用了二进制算法展示。

总结建议

  • 购买/配置时:请认准 GB。这是云厂商承诺给你的资源量(商业契约单位)。
  • 运维/排查时:如果在系统内部发现容量比预期少,通常是 GB(十进制)GiB(二进制) 的单位转换差异造成的,属于正常现象,无需担心。
  • 记忆口诀买的时候看 GB,用的时候看 GiB。
未经允许不得转载:CLOUD技术博 » GiB和GB有什么区别?云服务器配置中常用哪个单位?