最近入手一台比较渣渣的阿里云 ECS,等配置完成,老感觉内存一直在 90% 左右运行,不过赞一下,主机很稳定。个人觉得有强迫症想把内存的使用率较低下来,一看,哈啊哈,物理内存只有 772M,难道我的错了。如图:
输入命令行:free -m

1GiB 容量实际上应该是大于 1GB(虽然我们平时为了方便把 1GB 等同于 1GiB, 搞不清楚的同志,自行去脑补) 的,标准的 1024M 才对啊,难道难道??
后来,终于知道了
通过 free -m 命令,获取到的内存信息,为可供 kernel 分配的物理内存,非全部物理内存。
系统启动后,物理内存会保留一部分给 BIOS,linux 内核本身也要占用一部分,所以进行系统后可供分配的物理内存会少。
如果需要核实资源分配情况,使用 dmidecode -t memory | grep Size: | grep -v "No Module Installed" 可以查看到分配的实际物理内存总量。
那咱们在终端中输入:dmidecode -t memory | grep Size: | grep -v "No Module Installed" 看看,哈哈,标准的 1024M,也就是 1GiB

看样子,多读书还是有好处啊。