Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

High CPU utilization of inactive Windows virtual machines (1077)

Details

Why is my server's CPU utilization high when my Windows virtual machine is mostly inactive?

Solution

When a physical or virtual machine is idle, its operating system either issues a halt instruction or repeatedly executes an idle loop.

  • When an idle virtual machine executes a halt, it stops processing all instructions and requires no cycles on the server's physical CPU. This is the desired behavior in a virtual machine and causes no performance problems.
  • When an idle virtual machine executes its idle loop, it is actively executing instructions which run on the underlying physical processor. In this case, performance tools in the guest operating system show an inactive operating system, but the CPU on the server is fully utilized.

Idle loop behavior occurs most often when you try to add virtual processors to a virtual machine. For more information, see the CPU Virtual Machine Configuration section of the vSphere Virtual Machine Administration Guide.

For a virtual machine running a Windows operating system, having the incorrect HAL (Hardware Abstraction Layer) installed makes the guest operating system always spin in its idle loop instead of halting. A virtual machine with 2 or more vCPUs configured should be running with a Multiprocessor or SMP HAL. A virtual machine with 1 vCPU configured should be running with a Uniprocessor HAL.

To determine what HAL your virtual machine is using, and then determine if you are running with the correct vCPU count for the HAL:

  1. Right-click the My Computer icon, and choose Properties.
  2. Click the Hardware tab.
  3. Click the Device Manager tab.
  4. Double-click the Computer icon to see which HAL is currently loaded.
  5. In the vSphere or VMware Infrastructure client, click on the virtual machine, then click the Summary tab and see how may vCPU's are configured.

    If you have 1 vCPU and your virtual machine operating system is configured for a Uniprocessor ACPI, your configuration is correct. If your virtual machine operating system is configured for 2 or more vCPUs and it is running with a Multiprocessor ACPI, your configuration is correct.

    Note: Downgrading the HAL from multiprocessor to uniprocessor is not supported by Microsoft, the operating system vendor, and so it is not supported by VMware.

You can add processors to a virtual machine that was created under ESX 2.x or higher, or Workstation 5.5 or higher, but you may need to update the Windows HAL in your guest operating system. This is especially true if you are running a Windows 2000 guest operating system. For more information on adding processors for:

Note: Even when the correct HAL is installed, some guest operating systems halt more aggressively than others. When the system is otherwise inactive, some guest operating systems may spin in their idle loop for some time before issuing a halt instruction, whereas others may halt immediately. Typically, operating systems that spin in idle loops before halting are running with multiple processors.

For additional information about HAL, see Windows Virtual Machines with Latency-Sensitive I/O Workloads Can Slow Down in Four-Way SMP Configurations (2231) and these articles from the Microsoft Knowledge Base: 

Note: The preceding links were correct as of September 6, 2013. If you find a link to be broken, provide feedback on the article and a VMware employee will update the article as necessary. 

Additional Information:
 
For translated versions of this article, see:

Tags

high-cpu  high-cpu-usage

Keywords

HAL; SMP; single; processor; multiprocessor; idle; ACPI; 1077; loop; ws400; ws500; ws550

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 50 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 50 Ratings
Actions
KB: