在云服务器配置中,GiB(Gibibyte)和 GB(Gigabyte)虽然听起来相似,且在日常口语中常被混用,但它们在定义标准和实际数值上存在本质区别。
1. 核心定义不同
-
GiB (Gibibyte):
- 标准:基于二进制(Base-2),由国际电工委员会(IEC)制定。
- 换算公式:$1 text{ GiB} = 2^{10} text{ MiB} = 1024 times 1024 times 1024 text{ Bytes}$。
- 精确数值:1,073,741,824 字节。
- 用途:操作系统(如 Linux、Windows)、内存(RAM)、存储设备内部寻址通常使用此单位。
-
GB (Gigabyte):
- 标准:基于十进制(Base-10),遵循国际单位制(SI)。
- 换算公式:$1 text{ GB} = 10^9 text{ Bytes}$。
- 精确数值:1,000,000,000 字节。
- 用途:硬盘厂商(如希捷、西部数据)标注容量、网络带宽传输速率(Mbps/MB/s)通常使用此单位。
2. 数值差异对比
由于 $1024 > 1000$,1 GiB 比 1 GB 大。具体差异如下:
| 单位 | 计算公式 | 字节数 (Bytes) | 相对大小 |
|---|---|---|---|
| 1 GB | $1000 times 1000 times 1000$ | 1,000,000,000 | 基准 |
| 1 GiB | $1024 times 1024 times 1024$ | 1,073,741,824 | 比 GB 大约 7.37% |
换算关系:
$$1 text{ GiB} approx 1.074 text{ GB}$$
$$1 text{ GB} approx 0.931 text{ GiB}$$
3. 为什么云服务器常用 GiB?
在云服务器的控制台或系统内部查看资源时,你通常会看到 GiB,原因如下:
- 操作系统视角:当你登录服务器(Linux/Windows)并运行
free -h或df -h命令时,操作系统是按照二进制逻辑计算内存和磁盘空间的。例如,系统认为有 4 GiB 内存,实际上就是 $4 times 1024^3$ 字节。如果按 GB 显示,数值会变小,导致用户误以为内存“变少”了。 - 避免歧义:为了区分厂商宣传的“十进制 GB"和系统识别的“二进制 GiB",现代云计算平台(如阿里云、AWS、腾讯云)在描述内存和系统盘时,严格采用 GiB 作为单位,以确保显示的数值与操作系统内看到的数值完全一致。
4. 特殊情况提示
虽然内存和系统盘通常用 GiB,但在以下场景中你可能会遇到 GB:
- 网络带宽:云服务商售卖的带宽(如 5 Mbps 或 100 Mbps)通常指每秒传输的比特数(bit),换算成字节时,厂商有时会按十进制(1 Byte = 8 bits,且前缀为 1000 进制)计算下载速度,或者在某些计费说明中使用 GB 表示流量总量(此时需注意是十进制还是二进制,通常流量包是按二进制计算的,即 1GB 流量 ≈ 1 GiB)。
- 对象存储(OSS/COS):部分云厂商在描述存储空间(如 OSS 桶的大小)时,可能会混用 GB 和 GiB,需仔细阅读其计量标准。
总结
- GiB 是二进制单位,$1 text{ GiB} = 1024^3 text{ Bytes}$,代表操作系统实际可用的容量。
- GB 是十进制单位,$1 text{ GB} = 1000^3 text{ Bytes}$,常用于硬件厂商标称或网络传输。
- 结论:在云服务器配置单上看到 8 GiB 内存,意味着你的机器拥有约 8.59 GB(十进制)的字节容量,这是符合预期的正常现象,并非缩水。
PHPWP博客