查看云服务器容量时,先分清 GB 和 GiB
查看云服务器容量时,先分清 GB 和 GiB
看到两个界面显示不同的容量数字,先不要直接判断磁盘变小了。一个常见原因是单位口径不同:同样的字节数,用十进制单位和二进制单位表示,数字并不相等。本文用简单计算说明如何核对,示例不需要连接云服务器,也不会修改任何文件。
一、先把单位写清楚
B 表示字节。十进制单位中,1 MB = 1,000,000 B,1 GB = 1,000,000,000 B;二进制单位中,1 KiB = 1,024 B,1 MiB = 1,048,576 B,1 GiB = 1,073,741,824 B。二进制单位每相邻一级相差 1024 倍。
这些定义可参考 NIST《Prefixes for binary multiples》。这里特别使用 KiB、MiB、GiB,避免把历史上含义不够明确的“KB”直接当成计算依据。遇到产品页面、监控图表或命令输出时,应以该页面说明的单位定义为准,不能仅凭字母猜测。
二、用一个数字算明白
假设某个容量值明确表示 100,000,000,000 字节。按十进制计算,它等于 100 GB;改用 GiB 表示,应除以 1024 的三次方,结果约为 93.1323 GiB。两者对应的字节总数相同,差别来自表示方法。
在 Python 3 中可以直接运行:
size_bytes = 100_000_000_000
print(f"{size_bytes / 1000**3:.4f} GB")
print(f"{size_bytes / 1024**3:.4f} GiB")
输出应为:
100.0000 GB
93.1323 GiB
这只是单位换算示例,不表示某一款云硬盘产品一定按哪种口径展示。上面的数值已经通过本地计算核对。
三、核对容量时,别把不同指标混在一起
单位统一以后,还要确认比较的对象是否一致。磁盘设备总容量、分区大小、文件系统总量、剩余可用空间,是不同层次的数据;文件的逻辑大小与实际占用空间也可能不同。因此,不能把“磁盘总容量”和“文件系统可用空间”直接相减,再把差额全部归因于 GB 与 GiB。
实际记录时,可以写成“原始值:100,000,000,000 B;换算:约 93.1323 GiB;指标:设备总容量”。保留原始字节数、单位和指标名称,会比只记一个“100G”更容易复查。
四、一个简单的换算思路
编写小工具时,先把输入统一转换为字节,再除以目标单位的倍率即可。例如 1 MiB 先乘以 1024² 得到字节数,再除以 1024,结果就是 1024 KiB。输入应检查空值、负数和非有限数字,显示时保留适当精度;若需要处理超出普通浮点精度的大整数,应使用适合的整数或高精度方案。
理解单位只需要一个原则:先确认原始字节数和定义,再做换算。涉及真实磁盘排查时,再单独核对分区和文件系统信息,就能减少因单位混用造成的误判。
参考资料:NIST,Prefixes for binary multiples(二进制倍数前缀定义)。
- 点赞
- 收藏
- 关注作者
评论(0)