![ESXi CPU资源分配](https://linux22.com/image/623946/ESXi%20CPU%E8%B5%84%E6%BA%90%E5%88%86%E9%85%8D.png)
我有 ESXi 虚拟机管理程序i7 990x 处理器我想了解如何为 4 台虚拟机提供资源并获得最大效益。
首先,我的想法是为较少依赖 CPU 的虚拟机提供 1 个核心,为更多依赖 CPU 的虚拟机提供 2 个核心,然后我认为虽然有些虚拟机不会使用其核心,但其他虚拟机将耗尽 CPU 资源。另外,我不知道 ESXi 如何提供核心 - 也许它可以多次提供第一个 CPU,而最后一个永远不会被使用。
在虚拟机之间共享一个 CPU 是个好主意吗?我的意思是
- 1vm:2 个核心
- 2vm:2 个核心
- 3vm:2 核
- 4vm:6 核
总共有 12 个核心,而我的处理器只有 6 个。因此,我认为 esxi 将在虚拟机之间共享一些核心。这是正常做法吗?有什么缺陷吗?
答案1
vCPU 与 pCPU 的比例并非 1:1。VMware 不会将 vCPU 核心映射到物理核心。VM 和物理之间有一层称为调度程序。当 VM 的请求线程来自 VMware 时,VMware 调度程序将根据需要将任务分配给硬件。调度程序使用 VM 份额作为优先级指标。向机器发出过多的 vCPU 可能会导致问题,因为调度程序正在等待足够的 pCPU 准备就绪,然后才能调度任务。如果物理机器不堪重负,您将看到“CPU 就绪”的峰值。
根据经验,我(在大多数情况下)总是从虚拟机上的 1 个 vCPU 开始。查看 VMware(而非 Windows)处理器图表,看看是否已达到最大值。如果是,则再发出一次,直到其平均值达到 50% 左右。