我目前正在测试机器上测试 VMWare ESXi。我的主机有 4gigs 的内存。我有三个来宾,每个来宾分配的内存限制为 1 GB(仅保留 512 MB)。
主机摘要屏幕显示 4082.55 MB 的内存容量和 2828 MB 的使用量,两个来宾正在运行。这似乎是有道理的,每个 VM 两个演出加上主机的开销。800MB 看起来很高,但这仍然是合理的。
但是在资源分配屏幕上,我看到内存容量为 2356 MB,可用容量为 596 MB。
在配置选项卡下,内存链接我看到物理总量为 4082.5 MB,系统为 531.5 MB,VM 为 3551.0 MB。
我只为每个虚拟机分配了一个演出,并且在运行两个虚拟机时,它们占用的内存量几乎是已分配内存的两倍。为什么会这样,为什么“资源分配”屏幕对我的影响如此之大?
当我尝试运行我的第三个 VM 时,我收到一条消息说内存许可检查失败,这听起来像是没有足够的内存。我的生产机器会有更多的内存,但我想更好地了解 ESXi 的工作原理。
几件事:
不要在 RAM 上使用限制。要限制 VM 可以使用的 RAM 量,请在定义 VM 时使用 RAM 量。否则,如果在 VM 上设置的 RAM 限制小于为 VM 定义的 RAM 量,ESX 将被迫分页。如果要进行分页,您希望来宾在自身内部进行分页,因为它比 ESXi 更智能地确定应该对哪些数据进行分页。定义 VM 时,您希望将 RAM 定义为 VM 可能需要的最大 RAM 量,或者您希望 VM 使用的上限。
除非绝对必要,否则不要对任何资源(包括内存)上的任何 VM 使用预留。如果您安装 VMTools,除非您有充分的理由不这样做,否则您总是应该这样做,ESXi 可以回收内存,尤其是在不使用时。设置预留将强制 ESXi 提供物理内存,即使来宾不需要它。相反,当存在资源争用时,使用 Shares 设置优先级。
以上是非常重要的。如果您不遵循这些,将会发生低效的分页和低效的资源授予,因为不需要 RAM 的 VM 无论如何都会获得它,而可以使用 RAM 的 VM 将无法获得它。您还经常会拥有需要 RAM 的 VM,但即使有一些可以提供,也可能无法获得。
这两个屏幕之间的差异归结为实际使用了多少 RAM 的摘要,总容量显示了预留后调整后可以使用的数量。
为了回答您的问题,这是 Hypervisor 的预留设置。这实际上说明了我的上述观点,除非绝对必须,否则不应使用预订。ESXi 管理程序的内存预留可能过高。你可以调整这个。参考以下文章:
http://vm-help.com/esx40i/memory_allocation.php
不过,我不建议在生产中这样做。
归档时间: |
|
查看次数: |
20685 次 |
最近记录: |