物理内存-容量计算方式(以服务器为例)

物理内存的大小,

是按照 1GB=1,000,000,000B
还是按照 1GiB=1024x1024x1024B=1,073,741,824B


示例:
物理内存是192GB(12x16GB)的配置,
但在操作系统中识别到的内存大小为

[root@openEuler ~]#free -h

       total used free shared buff/cache available

Mem: 187Gi 9.0Gi 76Gi 30Mi 101Gi 176Gi
Swap: 9Gi 63Mi 9.9Gi

如果是物理内存是按照1GB=1,000,000,000B的计算方式,那么操作系统识别到内存应该是192,000,000,000B / 1024/ 1024/1024 = 178.8G

而实际free -h查看到的内存大小为 187GiB;
从这方面看,物理内存又应该不是以 1GB=1,000,000,000B的计算方式的。

那么如果物理内存是以1GiB=1024x1024x1024B=1,073,741,824B计算的,那么为什么free -h识别到的是187Gi的内存,那么猜测是操作系统和硬件占用了5GiB的内存容量,又如何能够查看确认此环节呢。

1 Like

iomem里可以看reserved的内存地址

物理地址空间,除了 DDR 物理内存,还存在其它如 PCI Bus、System ROM 这些 I/O 内存区域