可以为虚拟机配置一个或多个虚拟处理器,每个处理器均具有自己的寄存器和控制结构集合。

当调度虚拟机时,会调度其虚拟处理器在物理处理器上运行。VMkernel 资源管理器在物理 CPU 上调度虚拟 CPU,从而管理虚拟机对物理 CPU 资源的访问。
注: 在本章中,“内存”可以指物理内存或永久内存。

查看处理器信息

您可在 vSphere Client 中访问关于当前 CPU 配置的信息。

过程

  1. vSphere Client 中,浏览到主机。
  2. 硬件下,展开 CPU 以查看有关物理处理器数量和类型以及逻辑处理器数量的信息。
    注: 在超线程系统中,每个硬件线程都是一个逻辑处理器。例如,激活了超线程的双核处理器具有两个内核和四个逻辑处理器。

指定 CPU 配置

可以通过指定 CPU 配置来改进资源管理。但是,如果未自定义 CPU 配置,则 ESXi 主机会使用适合大多数情况的默认值。

可以按以下方式指定 CPU 配置:

  • 使用可通过 vSphere Client 访问的属性和特殊功能。使用 vSphere Client 可连接 ESXi 主机或 vCenter Server 系统。
  • 在某些情况下使用高级设置。
  • 将 vSphere SDK 用于脚本式 CPU 分配。
  • 使用超线程。

多核处理器

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

注: 在本主题中,“内存”可以指物理内存或永久内存。

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

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

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

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

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