2 控制内存分配
在ESXi上,VMkernel管理所有的计算机内存,内存中的一部分由VMkernel消耗用以运行自身代码及存储数据,剩余的部分供虚拟机及其虚拟机监控程序(VMX)使用。如所有物理资源一样,内存是有限资源。管理员借助预留、限制和共享三种机制可以更精细地控制ESXi分配内存。三种机制vSphere客户端设置界面如图 2所示。(本节主要参考自文献[2] 11.2.2控制内存分配)
图 2 vSphere客户端的内存控制界面
2.1 内存预留技术
预留(Reservation)技术确保虚拟机至少分配预留值相应的真实物理内存。虚拟机启动的必备条件是ESXi主机具有预留值相应的可用物理内存,若内存不足,虚拟机启动将被拒绝。虚拟机启动后,主机会根据实际使用情况分配内存,预留值以下的内存将无条件分配,低于预留值部分的内存用后主机也不会将其收回。预留技术虽然确保了虚拟机具有一定容量的可用内存,但是预留的内存一旦分配,主机就无法再回收利用,降低内存使用效率,减少同时可运行的虚拟机数量。
2.2 内存限制技术
限制(Limit)技术控制虚拟机分配的真实物理内存低于限制值。实施限制时,任何虚拟机操作系统都无法意识