Windows – ESXi and Windows Server CPU parking

central-processing-unitvmware-esxiwindows

For those that don't know, CPU parking is a feature in recent Windows Server releases that allows Windows to pretty much drop a CPU core to zero use, and having nothing use it. It's been introduced as a power-saving measure. There's more detail about it here, amongst other places.

However what I'm curious about is whether this matter on a virtualised guest – or is CPU parking more of a hindrance than a help, given that the physical CPUs are managed by ESXi, not Windows, and that a parked CPU is less likely to deal with traffic unless the scheduler deems there's enough work to unpark the CPU?

I've not found anything about this – I do suspect it will be very much based on a given workload, but I've not seen any discussion (unlike, say, whether hyper-threading has any effect, which seems to be discussed regularly). Whilst I do understand the "test with your workload" I was wondering if there was any advice/guidelines out there that I've missed.

Best Answer

Definitely try to right-size your VMs.

If you have enough free virtual CPUs to be concerned about "CPU parking", you may have too many allocated to the VM.

It's not a common request, so I'd just rely on the traditional resource management tools unless you're currently having a performance problem.

Edit:

You are having a performance problem.

  • Make sure you have VMware tools installed.
  • Set your Windows VM Power Options to High Performance

enter image description here