VMware Communities
behealed
Enthusiast
Enthusiast

If I have a quad core, and I assign 4 cores to my virtual machine...

I saw a page in the docs that says this results in "extremely poor performance, because the host machine can't process background tasks if all cores were assigned to the VM" (paraphrased).

source: Selecting the Number of Processors for a Virtual Machine

Why is this? I mean, doesn't the host also get to use all 4 of those cores? Or is VMware workstation set to realtime priority or something? If not then I can't see how the VM could actually block the host from using the cores. Can anyone explain this to me better?

Tags (1)
0 Kudos
1 Reply
continuum
Immortal
Immortal

A VM with one core asks the host: can I use one core for the next CPU-cycle ?

If the host has one core free it says Yes and the VM can work when the next cycle starts.

If the host has no core available it says NO and the VM has to wait and ask again.

If the host is not very busy there is a high chance that the VM can use one core on next cycle.

If the VM has 4 cores assigned it will only work if the host has all cores free for the next cycle.

So it should be self explaining that a VM with 4 cores assigned has a a low chance to get all cores for next cycle :  means the VM has to wait until the host does nothing.

A VM with 2 cores has a quite good chance that it can use both cores with very short waiting time.

A VM with 4 cores will have to wait when ever the host uses just a single core.

Thats why VMs that use all available cores perform lousy: they have to wait most of the time.


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos