VMware Cloud Community
MLow75GW
Contributor
Contributor

Sizing VMs vs. their physical counterpart

Hey everyone,

I’m looking for a resource regarding best practices to use when sizing VMs versus their physical counterpart. An example would be, if a physical server required 2 CPUs and 4 GB RAM, would it be best to size it that way in the virtual world, or would I want to start low, and provision 1 CPU and 2 GB RAM?

Any guidance or advice would be much appreciated.

Thanks!

MLow75GW

Reply
0 Kudos
4 Replies
aravinds3107
Virtuoso
Virtuoso

Sugges to start with 1vCPU and 2 GB RAM as you have mentioned and based on the workload of the VM then you could easily add the resource is required

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful |Blog: http://aravindsivaraman.com/ | Twitter : ss_aravind
Reply
0 Kudos
Gkeerthy
Expert
Expert

regarding to the sizing..it really a tough decision, its all based on the SLA defined on your environment.

as per the theory and best practice, we need to count only the physical cores in the server, the HT cores in the processor wont give performance it will only keep the processor instruction pipeline busy.

Each core is called Hardware execution context in the vmkernel, and it is well known fact that simply giving more vCPU wont give more performance, the co scheduling issue will come. and the CPU scheduler works differently in the vmkernel.

So first thing is do a full fledged capacity planning, how CPU/RAM usage will happen in the peak time, and also how much vms you are going to deploy in the host, again the perfromce SLA defines all that things.

In short if you dont have the full capacity planning, you can use a scale out approach, that is giving 1 vcpu and later increase. but based on the OS version it will allow you to hot add. , else just give 2 vCPU each and monitor. Also create resource pools, and set shares correctly, so that critical vms will get the correct resources.

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
michaelstump
Enthusiast
Enthusiast

Start low and monitor the performance of your system. The built-in performance graphs in vCenter are surprisingly helpful. Monitor the percent utilization of the VM's CPU and memory. It's always best to commit only the resources that a VM requires, as opposed to overcommitting resources that are not needed, and therefore wasted. Plus, by keeping vCPUs and memory to a minimum for your VMs, you're keeping the overhead of that VM as low as possible.

mike

Data Center Virtualization with VMware - theeagerzero.blogspot.com
BrownUK
Contributor
Contributor

If you want to make sure that you always have enough memory and not overcommit, conservative I know, but some people might like it then you could use a script to set a memory reservation as a proportion of the virtual memory that is being consumed. I have done this and it seems to work quite well. It guarantees each machine has enough memory to run effectively. The windows task manager filed commit charge total * 1.3 (after the machine has been running for some time) is also a good indicator of how much RAM to allocate to a VM

Thanks

Alastair Brown|Microsoft Engineer / Vsphere Architect| Produban UK Commercial

alastair.brown@produban.co.uk<mailto:alastair.brown2@produban.co.uk> | +44 (0) 77985 80929 | +44 (0) 116 200 2565

Carlton Park, Narborough

Leicester, LE19 0AL,

UK

Reply
0 Kudos