CNA主机可用物理内存介绍
背景:很多同事接触虚拟化平台FusionCompute后,对主机可用物理内存产生一个疑惑:
我的主机有64G内存,为什么实际看到的比64G少了好多?
集群开启内存复用后,为什么又少了好几个G?
举例:服务器为48G
而实际只有:45236M
解答:
主机不开启内存复用的场景下,主机可用的物理内存为
主机的总内存MemTotal – Dom0内存 – 黑匣子Crash 内存– xen内核 Hypervisor内存
MemTotal为主机的内存大小
Dom0默认是3G,可以再主机执行命令查看:
cat /boot/grub/menu.lst
Crash是主机黑匣子占用内存:默认为192M可以再主机执行命令查看:
cat /boot/grub/menu.lst
Hypervisor是xen内核占用内存:
公式为:
Hypervisor = (服务器规格/32)*512M
如果服务器规格64G,未开启内存复用场景下:
Memfree = 64G – 3G – (192M/1024) – 【(64G/32G)*512M/1024】
= 64G – 3G – 0.1875G – 1G
= 59.8125G
如果服务器规格64G,开启内存复用场景下,还需要再减掉服务器规格的5%
还需要扣除内存复用的缓存 MemCache = 服务器规格 * 5%
Memfree = 64G – 3G – (192M/1024) – 【(64G/32G)*512M/1024】 – 64G*0.05
=56.6125G