CPU Provisioning
-
I have a host with 36 physical cores. On this system there will be two VMs running. Sometimes they will run one at a time, other times they will both be running simultaneously. Should I assign all 36 cores to both VMs so that each VM has access to all the cores when running on its own or will that cause horrible inefficiencies when both VMs are running and it’s better to assign 18 cores to each VM? The load will scale to as many cores as are available. Both VMs are running Windows. If I assign 18 cores to the VM and the VM is running on its own will this mean half of the CPU will be idle?
What about memory, can I over provision memory (assign the total amount of RAM to each VM) or is that no longer supported.
Any insight is appreciated.
-
-
@Kajetan321 You should consider the effects of NUMA/vNUMA in terms of performance. Crossing over to other physical CPUs or memory banks will create slowdowns.
If possible, unless you absolutely need all those VCPUs on any or both VMs, you may be best off splitting the 36 VCPUs and assigning 18 on each VM, checking to see if all the memory stays with the bank(s) of those specific VCPUs. See my articles on the CUCG site about NUMA and in particular, graphics performance (and of course, calculations will also be affected). Best would be to
run benchmarks with both configurations. Shrinking the number of VCPUs on a running VM can lead to issues (as indicated in the video posted just before my response).
See the Tale of Two Servers articles here for details: https://community.citrix.com/profile/46909-tobias-kreidl/#=