Hyper-V Virtual Machines Exhibit Slow Startup and Shutdown


On Windows Server 2008 R2, when starting or shutting down guest virtual machines (VMs) which use large amounts of memory (e.g., 32GB per VM) and running on a virtualization host with a large number of logical processors (e.g., 64LPs) you may observe slow VM startup or shutdown performance.


This is caused by the time required for the hypervisor to send IPIs to a large number of processors, and the fact that the processors have entered a deep processor idle power state (ACPI C-state). Waking the processor to deliver the IPI takes longer than delivering an IPI to a processor that does not have to exit the deep idle sleep state. The number of IPIs that must be sent during startup and shutdown increases with the amount of memory a VM is configured to use, and an IPI must be sent to each processor in the system. Thus, using deep ACPI C-states on systems with a large number of CPUs and using VMs with large amounts of memory will compound the causes and result in noticeable VM startup and shutdown delays.


You can disable the Advance Configuration and Power Interface (ACPI) C-states by using a BIOS firmware option on the computer. If the firmware does not include this option, a software workaround is available. You can disable the ACPI C2-state and C3-state by setting a registry key. To do this, follow these steps:

1. At a command prompt, run the following command:

reg add HKLM\System\CurrentControlSet\Control\Processor /v Capabilities /t REG_DWORD /d 0x0007e066
2. Restart the system.

Note: The computer idle power consumption will increase significantly if the deeper ACPI C-states (processor idle sleep states) are disabled. Windows Server 2008 R2 uses these deeper C-states as a key energy-saving feature.


Article ID: 2532917 - Last Review: Apr 14, 2011 - Revision: 1