多核处理器为执行虚拟机多任务的主机提供了很多优势。

Intel 和 AMD 均已开发将两个或更多处理器内核组合到单个集成电路(通常称为封装件或插槽)的处理器。VMware 使用“插槽”一词来描述单个封装件,该封装件可以具有一个或多个处理器内核且每个内核具有一个或多个逻辑处理器。

例如,双核处理器通过允许同时运行两个虚拟 CPU,可以提供几乎是单核处理器两倍的性能。同一处理器中的内核通常配备由所有内核使用的最低级别的共享缓存,这有可能会减少访问较慢主内存的必要性。如果运行在逻辑处理器上的虚拟机正运行争用相同内存总线资源且占用大量内存的工作负载,将物理处理器连接到主内存的共享内存总线可能会限制其逻辑处理器的性能。

ESXi CPU 调度程序独立使用每个处理器内核的每个逻辑处理器来运行虚拟机,从而提供与 SMP 系统类似的功能。例如,2 路虚拟机可以让虚拟处理器运行在属于相同内核的逻辑处理器上,或运行在不同物理内核的逻辑处理器上。

ESXi CPU 调度程序可以检测处理器拓扑,以及处理器内核与它上面的逻辑处理器之间的关系。它使用此信息来调度虚拟机和优化性能。

ESXi CPU 调度程序可以解释处理器拓扑(包括插槽、内核和逻辑处理器之间的关系)。调度程序使用拓扑信息来优化将虚拟 CPU 放置到不同插槽的过程。此优化可以最大程度地提高整体缓存使用率,并通过最大程度减少虚拟 CPU 迁移来提高缓存关联性。