当物理机或虚拟机处于空闲状态时,其操作系统会发出停止指令或重复执行空闲循环。
- 当空闲虚拟机执行停止指令时,它会停止处理所有指令,并要求服务器的物理 CPU 上无循环。 这是虚拟机的预期行为,并不会引起性能问题。
- 当空闲虚拟机执行其空闲循环时,它将积极执行基础物理处理器上运行的指令。 在这种情况下,客户机操作系统中的性能工具会显示不活动的操作系统,但服务器上的 CPU 会得到充分利用。
当您尝试将虚拟处理器添加到虚拟机时,经常会发生空闲循环行为。 有关详细信息,请参见 vSphere Virtual Machine Administration Guide 的“CPU 虚拟机配置”部分。
对于运行 Windows 操作系统的虚拟机,如果安装了不正确的 HAL(硬件抽象层),则客户机操作系统会始终处于空闲循环状态,而不是停止状态。 配置 2 个或更多 vCPU 的虚拟机应与多处理器或 SMP HAL 一起运行。 配置 1 个 vCPU 的虚拟机应与单处理器 HAL 一起运行。
要确定虚拟机正在使用哪个 HAL 以及您为 HAL 运行的 vCPU 数量是否正确,请执行以下操作:
注意: Windows Server 2008 及更高版本检测到 HAL 正在引导,且不需要更改。
- 右键单击我的电脑图标,然后单击属性。
- 单击硬件选项卡。
- 单击设备管理器选项卡。
- 双击计算机图标,查看当前加载的 HAL。
- 在 vSphere 或 VMware Infrastructure 客户端中,单击虚拟机,然后单击摘要选项卡,查看已配置的 vCPU 的数量。
如果存在下列情况,则您的配置正确无误:
- 您具有一个 vCPU,且您的虚拟机操作系统针对单处理器 ACPI 进行了配置。
- 您的虚拟机操作系统针对 2 个或更多 vCPU 进行了配置,且正在与多处理器 ACPI 一起运行。
您可以将处理器添加到在 ESX 2.x 或更高版本以及 Workstation 5.5 或更高版本下创建的虚拟机,但您必须更新客户机操作系统中的 Windows HAL。 这适用于您运行 Windows 2000 客户机操作系统的情况。
有关在下列虚拟机中添加处理器的详细信息:
注意: 即使安装了正确的 HAL,某些客户机操作系统也会比其他系统更积极地停止运行。 当系统处于非活动状态时,某些客户机操作系统可能会在一段时间内处于空闲循环状态,然后发出停止指令,而其他系统可能会立即停止。 通常,停止前处于空闲循环状态的操作系统可与多个处理器一起运行。
注意: 截至 2015 年 8 月 25 日,上述链接正确无误。 如果您发现链接已损坏,请针对本文提供反馈,VMware 员工会根据需要更新本文。