VMware Cloud Community
pjlandry
Contributor
Contributor
Jump to solution

Processsor utilization by a process within a VM

Hi Folks.

Here's the scenario.  We have an app that appears to be misbehaving.  The developper is asking for some sort of metric on the CPU utilization of this app.

I understand that looking at the "task manager" within a windows VM is not a reliable means of quantifying the CPU usage the system, and that I would normally use the vSphere client to get such data.  Is there a reliable way to getting the actual CPU utilization of individual processes within a Windows 2003 VM?

(ESXi 4.1, licenced)

Thanks.

-P

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
RParker
Immortal
Immortal
Jump to solution

pjlandry wrote:

Thanks.

I do use ProcExp and PerfMon.  The question remains:  Can I trust that the values it provides are accurate?

Remember that "guest" CPU monitor tools are not accurate since the VM is CPU-scheduled.

Thoughts?

Thanks again.

-P

Well I kinda see where you are going, but you are off the mark the guest INSIDE the VM is still working on the basis that those are "real" CPU cycles, and they are.. not co-scheduled.. it's only from the HOST they are scheduled as a time slice.

Besides which when you monitor in the same OS as the tools, the are monitoring from the same perspective, so even if the CPUs are not touched again for 4 seconds (let's say) the OS *AND* the tools monitoring those cycles are frozen at EXACTLY the same time, so yes those metrics are indeed accurate.

If you monitored from a 3rd party like Veeam (because it can see the host CPU the VM is using), then probably not as accurate.. I can see that.

View solution in original post

0 Kudos
6 Replies
atbnet
Expert
Expert
Jump to solution

Hi,

Try Process Explorer from sysinternals - its a very handy tool free too 🙂

It shows all kinds of info about individual processes, including CPU utilisation.

http://technet.microsoft.com/en-us/sysinternals/bb896653

Andy

Andy Barnes
VCP / VCA-DT / MCITP:EA / CCIA
Help, Guides and How Tos... www.VMadmin.co.uk

If you found this information useful please award points using the buttons at the top of the page accordingly.
RParker
Immortal
Immortal
Jump to solution

I agree with attbet..however if you want to LOG the app you want to look at performance monitor.  You can even log it to a file.

Process explorer is great for REAL time, but historical perf mon is what you want.

pjlandry
Contributor
Contributor
Jump to solution

Thanks.

I do use ProcExp and PerfMon.  The question remains:  Can I trust that the values it provides are accurate?

Remember that "guest" CPU monitor tools are not accurate since the VM is CPU-scheduled.

Thoughts?

Thanks again.

-P

0 Kudos
admin
Immortal
Immortal
Jump to solution

VMware tools now puts perfmon counters into the VM.

0 Kudos
RParker
Immortal
Immortal
Jump to solution

pjlandry wrote:

Thanks.

I do use ProcExp and PerfMon.  The question remains:  Can I trust that the values it provides are accurate?

Remember that "guest" CPU monitor tools are not accurate since the VM is CPU-scheduled.

Thoughts?

Thanks again.

-P

Well I kinda see where you are going, but you are off the mark the guest INSIDE the VM is still working on the basis that those are "real" CPU cycles, and they are.. not co-scheduled.. it's only from the HOST they are scheduled as a time slice.

Besides which when you monitor in the same OS as the tools, the are monitoring from the same perspective, so even if the CPUs are not touched again for 4 seconds (let's say) the OS *AND* the tools monitoring those cycles are frozen at EXACTLY the same time, so yes those metrics are indeed accurate.

If you monitored from a 3rd party like Veeam (because it can see the host CPU the VM is using), then probably not as accurate.. I can see that.

0 Kudos
pjlandry
Contributor
Contributor
Jump to solution

Thanks.  This always confuses me.

-P

0 Kudos