grafana dashboard 单位 IEC SI a i

发布于:2025-05-23 ⋅ 阅读:(18) ⋅ 点赞:(0)

grafana dashboard 画图的时候在
Standard options —> Unit —> Data —> 会有各种选项其中列举以 xxxaxxx 、xxxixxx开头和(IEC) (SI) 注释的,本文进行解释
其中带 a 的基于十进制的单位,使用1000作为基数。1 MB = 1000 KB = 1000 * 1000 Bytes‌。
带 i 的基于二进制的单位,使用1024作为基数。1 MiB = 1024 KiB = 1024 * 1024 Bytes‌。

为了进一步强化理解,我再帮你稍作整理,并补充一些实际应用建议,特别是在 Ceph、Grafana、Prometheus 等系统中容易遇到的混用陷阱:


✅ 一、单位分类与基数差异

单位名称 缩写 制式 基数 等于多少字节(bytes)
Kibibyte KiB IEC 2¹⁰ = 1024 1,024 B
Kilobyte KB SI 10³ = 1000 1,000 B
Mebibyte MiB IEC 2²⁰ 1,048,576 B
Megabyte MB SI 10⁶ 1,000,000 B
Gibibyte GiB IEC 2³⁰ 1,073,741,824 B
Gigabyte GB SI 10⁹ 1,000,000,000 B
Tebibyte TiB IEC 2⁴⁰ 1,099,511,627,776 B
Terabyte TB SI 10¹² 1,000,000,000,000 B

✅ 二、实际场景中的使用建议

场景 建议使用单位 原因说明
硬盘容量标称 TB / GB 厂商使用 SI 标准
系统文件显示(Linux/macOS) GiB / MiB 操作系统按 1024 显示
内存容量、页表大小等 GiB / MiB 硬件架构按 1024 设计
网络带宽、接口速率 MB / GB / Mbps SI 标准用于传输速率
Grafana/Prometheus 显示 建议自己明确单位,统一使用 GiB 或 GB Prometheus 不自动区分单位

✅ 三、常见误区与实践说明

❌ 混用 KB 和 KiB 导致容量理解错误

  • 比如硬盘标称 1 TB(10¹² 字节)= 实际只有 931 GiB
  • 因为 1,000,000,000,000 ÷ 1,073,741,824 ≈ 931.32

✅ Prometheus 与 Grafana 中的单位转换示例

将字节转为:

  • MiB(Mebibyte)

    metric_name / 1024 / 1024
    
  • MB(Megabyte)

    metric_name / 1000 / 1000
    
  • GiB(Gibibyte)

    metric_name / 1024 / 1024 / 1024
    
  • GB(Gigabyte)

    metric_name / 1000 / 1000 / 1000
    

Grafana 设置:

  • 可以在 Panel 设置中选择单位为 bytes -> gibibytesmegabytes (decimal) 来直观展示
  • 注意单位名称后缀是否是 i,如 MiB 表示 IEC 二进制,MB 表示 SI 十进制

✅ 四、建议统一规范

在 Ceph、Kubernetes、Grafana 系统监控中:

  • 建议全程使用 IEC(KiB/MiB/GiB),因为大多数底层系统(如 ceph dftop)默认按 1024 为基数。

  • 标明单位来源,避免让用户误解,例如面板上写:

    “Total Read (GiB, IEC)”


IEC和SI的定义和背景

‌IEC(国际电工委员会)‌:IEC采用二进制进率,即每一级单位之间的进率为2的倍数。这种进率制度使得存储单位的计算更加直观,尤其是在处理二进制数据时更为方便‌。
‌SI(国际单位制)‌:SI采用十进制进率,即每一级单位之间的进率为10。这种进率制度更符合国际标准的计量习惯,但在处理二进制数据时不如IEC直观‌。
IEC和SI在计算机存储单位上的具体差异
‌字节与比特的对应关系‌:在IEC标准中,1字节(Byte)等于8比特(bit);而在SI标准中,这一对应关系也是相同的‌。
‌高计量单位的进率‌:
‌IEC标准‌:每一级单位之间的进率为2。例如,1KB(千字节)等于1024B(字节),1MB(兆字节)等于1024KB,以此类推‌。
‌SI标准‌:每一级单位之间的进率为10。例如,1KB等于1000B,1MB等于1000KB‌。
实际应用中的影响
‌数据存储和处理‌:在处理二进制数据时,IEC标准更为直观和方便,因为二进制数据的存储和处理本身就是基于2的幂次方进行的。而SI标准虽然在国际上更为通用,但在处理二进制数据时需要进行额外的转换计算。
‌国际标准和实际应用‌:由于计算机内部数据存储和处理都是基于二进制的,因此IEC标准在实际应用中更为常见。而SI标准则更多地用于需要精确计量的科学研究和工程领域‌。


网站公告

今日签到

点亮在社区的每一天
去签到