VMware Cloud Community
Tim_Wise
Contributor
Contributor

Impact of variable clock speed on reported CPU usage?

I saw a similar question posed on the AIX performance forums.

Servers can change clock speed to reduce power consumption. How does this affect the CPU usage reported by VMware? Is 50% utilization at a stepped down clock speed the same as 50% utilization at the normal clock speed?

Tim

0 Kudos
4 Replies
larstr
Champion
Champion

Tim,

If the clock inside the guest is way off it will surely affect the reported cpu usage. There is a [url= http://kb.vmware.com/kb/1006427

]kb article[/usr] that descibes how to setup most guest OSes for a reasonable timekeeping setup.

If you however need even more precise timekeeping than such settings provide you can use the VMware Descheduled Time Service which is availeble as part of VMware Tools on some supported guest OSes, but is not installed by default.

The effect of using variable cpu speed has a higher impact on hosted products than on ESX.

Lars

Tim_Wise
Contributor
Contributor

> If the clock inside the guest is way off it will surely affect the reported cpu usage.

Are you talking about CPU usage reported from a monitor in the VM? I would expect that to be off for a number of reasons.

I'm wondering about the VM CPU usage reported from within the hypervisor. The VM CPU usage reported I see in the Performance tab of the VI Client.

Another way to look at it is to see how VM CPU usage is computed. From the documentation, CPU usage is computed as

> usage (pct) = usagemhz / (num cores * processor speed mhz)

One analysis: If I get 1/2 the amount of cycles I need because the processor was stepped down, then the CPU utilization would be 1/2 that than if the processor was running full speed. In this case, the processor is not giving me all the cycles I need even though it could.

Another analysis: But the problem may be more complex than that. If my process was CPU intensive and needed 1 full core, the processor would probably run at full speed and not step down. Meaning that if cpu cycles are needed, the processor will run at full speed. It only steps down if there is less demand for cycles. In this case, the processor is guaranteed to given me the cycles I need. So if I can only use 1/4 of a core's worth of cycles (in a second), it doesn't matter whether I get those cycles with the processor running at 1/4 speed, 1/2 speed, 3/4 speed or full speed. The utilization will be the same.

The real answer is probably somewhere in between. It's a complex issue.

Thanks for the response.

Tim

0 Kudos
larstr
Champion
Champion

..and even if the guest requested a full core it might not get it in these power saving times where you can set policies[/url] in order for a rack or blade center to use a maximum of a certain power.

Lars

Tim_Wise
Contributor
Contributor

Ah, interesting link. Thanks.

It claims no loss of performance when power is capped to your historic peak.

Tim

0 Kudos