我目前正在testing机器上testingVMWare ESXi。 我的主机有4g的ram。 我有三个客人,每个都分配了1 GB的内存限制(只有512 MB保留)。
主机摘要屏幕显示内存容量为4082.55 MB,使用两个guest虚拟机时的使用率为2828 MB。 这似乎是有道理的,每个虚拟机两个演出加上主机的开销。 800MB似乎很高,但这仍然是合理的。
但在资源分配屏幕上,我看到的内存容量为2356 MB,可用容量为596 MB。
在configuration选项卡下,我看到的物理内存总量为4082.5 MB,系统为531.5 MB,VM为3551.0 MB。
我只分配了我的虚拟机作为一个演出,每个虚拟机运行两个虚拟机几乎占用了两倍的RAM分配。 为什么是这个,为什么资源分配屏幕短暂地改变我这么多?
当我尝试运行我的第三个虚拟机时,我收到一条消息,说内存准入检查失败,这听起来像没有足够的内存。 我的生产机器将会有更多内存,但我想更好地处理ESXi的工作方式。
几件事情:
不要在RAM上使用限制。 要限制虚拟机可以使用的RAM数量,请在定义虚拟机时使用RAM的数量。 否则,如果在虚拟机上为RAM设置的限制小于为虚拟机定义的RAM数量,则ESX将被强制为页面。 如果要进行分页,则希望guest虚拟机在其内部进行页面化,因为与ESXi相比,哪些数据应该分页更为智能。 在定义虚拟机时,您需要将内存定义为虚拟机可能需要的最大内存量,或者希望虚拟机使用的上限。
除非绝对必要,否则不要在任何资源(包括内存)上对任何虚拟机使用保留。 如果您安装了VMTools,除非您有充分理由不要,否则ESXi可以回收内存,尤其是在未使用的情况下。 设置保留将强制ESXi提供物理内存,即使访客不需要它。 而是在存在资源争用时使用共享来设置优先级。
以上是非常重要的。 如果你不遵循这些规则,将会发生分页效率低下,资源不足的情况,因为不需要RAM的虚拟机会得到它,而使用RAM的虚拟机将不会得到它。 你也经常有虚拟机,需要内存,但可能不会得到它,即使有一些提供。
这两个屏幕之间的差异归结为多lessRAM实际上被使用,并且总容量显示了在预留之后可以使用的数量。
要回答你的问题,这是Hypervisor的保留设置。 这实际上说明了我的上述观点,你不应该使用保留,除非你绝对必须。 ESXi虚拟机pipe理程序可能具有太高的内存预留量。 你可以调整这个。 参考以下文章:
http://vm-help.com/esx40i/memory_allocation.php
尽pipe如此,我并不build议你这样做。