VMware Cloud Community
lvaibhavt
Hot Shot
Hot Shot

Recommendations for VM sizing on a Host

Hi All,

We have to build close to about 8 VMs on a cluster running with 3 Hosts. I had a discussion with my colleague and he told me as per VMware best practices we should have 4vcpus per core.

The CPU ratio he said should be 1:4 per core

For RAM he said it should 1:2 i.e. if we have 100GB physical ram on the server then we should create VMs with total of 200GB vRAM.

Are these recommendations correct?

PS -- I am not doubting my colleagues knowledge but just wanted to double check Smiley Happy

Also is there a book that I can buy to know more about sizing factors in vSphere. Any link/article that can help me increase knowledge in this domain.

Thanks in advance

Vaibhav

0 Kudos
2 Replies
schepp
Leadership
Leadership

Hey,

first off, here's something to read:

http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.5.pdf

https://communities.vmware.com/servlet/JiveServlet/previewBody/21181-102-1-28328/vsphere-oversubscri...

It's really hard to just say some ratio numbers, since every installation comes with different requirements and different workloads.

4 idling vCPUs per core is a totally different thing than 2 vCPUs using 100% all the time.

Also, how do you define a core? Physical or logical? When using intel CPU with HT enabled, you have double the logical cores. But may run into some performance problems when you handle them like physical cores.

By the way: the max number of vCPUs per core according to the vSphere 5.5 configuration maximums is 32. But as said, this depends on the workload.

For the RAM part I think your colleague just wanted to have enough RAM to compensate a server fault. So if one server goes down, all VMs can run on the two servers without having to overcommit the RAM.

Regards

Tim

0 Kudos
JarryG
Expert
Expert

IMHO there is nothing like "best practise" for vCPU/core (or vRAM/RAM) ratio. It all depends how extensively your VMs will be using those vCPUs and vRAM. Especially with vRAM I'd be very carefull. VM does not know anything about over-commiting, so sooner or later it will try to use all RAM available (i.e. for disk-cache). That's how every modern OS works. Then with over-commited RAM, VM might use... well, esxi-swap (disk or ssd) for disk-caching. That does not make much sense...

Personally I start every VM with very low values (single core/cpu, a few GB vRAM) and observe it for some time with in-system tools ("top", "free", or "task manager"). I add vCPU/vRAM only when I see VM is swapping or running with high cpu-load (beware, there are apps that can not use effectively even two cpus/cores). If there is still some ram/cpu available, I add it to VMs which can make use of it (i.e. additional ram for database-server, cpu for calculation-server, etc).

_____________________________________________ If you found my answer useful please do *not* mark it as "correct" or "helpful". It is hard to pretend being noob with all those points! 😉
0 Kudos