Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a server that is running Windows 2008 64 bit Hyper-V, with 8 gigs of RAM and Intel Xeon X3440 @ 2.53 Ghz, which gives me 8 logical cores in the performance monitor on the host system.

I have set up three Virtual Machines, all running Windows 2008 32 bit.

  1. Build server, running Team City
  2. Staging server
  3. SQL Server, running SQL Server 2005

I have some troubles with the setup in that the host monitor remains responsive at all times, even though the VM's are seemingly working at 100% cpu and are very sluggish and unresponsive. (I have asked a separate question about that.)

So the question here is: What is the best way to monitor how the physical CPU's are actually utilized? The reason I am asking is that I am being told that i cannot reliably use the task manager to monitor CPU usage in a VM.

share|improve this question
@Bjørn: make sure you focus on more than processor. Disk I/O is a very likely bottleneck as well. – MattB Apr 16 '10 at 13:50
up vote 10 down vote accepted

First, you have to remember that in Hyper-V that the "host" is called a parent partition and it really just like a virtualized guest with special permissions and roles. Just like any other child/guest, when you open up Task Manager, you can not see the CPU usage of the other children on the server.

Ben Armstrong has a good explanation of this here:

To summarize his post, you need to check three things to get an accurate picture of CPU utilization:

  1. View the CPU usage on each guest - this is available through Hyper-V Manager or Performance Monitor.

  2. CPU usage due to context switching - this is the perfmon counter called % Hypervisor Run Time under Hyper-V Hypervisor Virtual Processor

  3. Child partition worker process - vmwp.exe running on the parent partition (1 per child). This handles Hyper-V operations like saving state.

share|improve this answer

You can - just you have to be sure you put things into RELATION. I use The Resource Monitor myself. Just your case was 8 cores, 3 virtual CPU's, so 100% on all virtuals awas roughly 37.5% physical ;)

SCVMM (System Center Virtual Machine Manager) is a nice tool, together with SCOM (System Center Operations Manager), but they alone are more hardware than you currently have.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.