Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
Hyper-V: Performance decrease in VMs on Intel Xeon 5500 (Nehalem) systems
Article ID: 2000977 - View products that this article applies to.
You have a computer that is running Windows Server 2008 Hyper-V Service Pack 1 (SP1) or Windows Server 2008 Hyper-V Service Pack 2 (SP2) on a system that is equipped with Intel Xeon 5500 series processors (Nehalem). However, you may notice decreased performance in guest virtual machines (VMs) that are running on this computer. For example, you may notice that the system clock in the VM is running slowly even though the system clock in the host runs correctly. Or, you may notice that the VM may perform slowly when you perform certain operations, such as opening a CMD window, starting or stopping services, or similar operations.
This issue occurs because of an error in the firmware implementation of the ACPI C-states (processor idle states). This firmware incorrectly maps the "core C3" processor state into the ACPI C2 state. Therefore, when the system enters C2, the platform goes to C3. This behavior causes the local APIC timer (LAPIC timer) of the processor to stop counting and to stop delivering interrupts. However, the Hyper-V hypervisor uses the LAPIC timer as the hypervisor’s internal time source. This behavior causes the problem that is described in the “Symptoms” section.
Customers who are affected by this issue should contact their system vendor to request an updated BIOS that correctly maps the C-states.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
To temporarily work around this problem, disable the ACPI C-states in the BIOS.
Note The firmware may not provide this option. If the firmware does not allow for this option, you can still disable the use of the C2 state. To do this, change the Windows Registry to disable the C2 state through the Windows processor driver as follows:
reg add HKLM\System\CurrentControlSet\Control\Processor /v Capabilities /t REG_DWORD /d 0x0007e666