GiB 和 GB 的核心区别在于它们采用的进制标准不同,这导致了它们在数值上存在约 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。
具体情况分析:
-
内存与磁盘容量(售卖/配置)
- 单位:GB。
- 原因:这是行业通用的商业标准。当你看到云服务商(如阿里云、AWS、腾讯云)提供 "4GB 内存” 或 "50GB 系统盘” 时,这里的 GB 指的是 $10^9$ 字节(或者更准确地说是为了方便销售而简化的商业单位)。
- 注意:虽然底层物理硬件和操作系统可能按二进制计算,但在对外宣传、定价和购买选项上,云厂商统一使用 GB。
-
操作系统内显示
- 单位:GiB(或显示为 GB 但实际值为 GiB)。
- 现象:当你登录到云服务器(Linux/Windows)内部,使用
free -h或df -h命令查看时,系统可能会显示 GiB(例如 Linux 下常显示MiB或GiB),或者虽然标签写着GB但数值是按二进制计算的。 - 例子:你购买了 4 GB 内存的实例,进入系统后,
free -m可能显示可用内存略小于 4096 MB(约 3932 MiB/GiB 级别),因为系统扣除了一些保留内存并采用了二进制算法展示。
总结建议
- 购买/配置时:请认准 GB。这是云厂商承诺给你的资源量(商业契约单位)。
- 运维/排查时:如果在系统内部发现容量比预期少,通常是 GB(十进制) 与 GiB(二进制) 的单位转换差异造成的,属于正常现象,无需担心。
- 记忆口诀:买的时候看 GB,用的时候看 GiB。
CLOUD技术博