• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 323
  • Last Modified:

VMWare, Tuning options

In previous posts, many have siad that when you allocate resources to a VM, that allocating too many resoruces will slow it down

Why is that

... and does this work for both vCPU and Memory, or just vCPU

Thanks
0
Los Angeles1
Asked:
Los Angeles1
1 Solution
 
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Memory - Too much memory, or lack of memory on host, causes the Virtual Machine to swap to disk. The Swap-In function of the virtual machine causes performance issues because of the latency of the datastore (disks!).

vCPU - too many vCPUs, vSMP (virtual symmetric multiprocessing), if your virtual machine cannot take advantage or have any applications that can take advantage of multiple processors, e.g. Exchange or SQL, adding additional processors, can slow a Virtual Machine down, vSMP is better now in ESXi 5.0, but still exists.

It's not always advantageous to add more vCPUs to a Virtual Machine because of the VMware CPU Scheduler.

ALL Physical CPUs and Physical Cores are shared between the ESX/ESXi Host Server and ALL of the virtual machines and each of them need sufficient CPU cycles to work with the performance you would expect. If you assign multiple vCPUs to a VM the CPU scheduler has to make sure the number of virtual CPUs is available at the same time to execute commands.

Example, assuming you assign 8 vCPUs to a virtual machine, the CPU scheduler would have to wait until 8 cores are available. To achieve this it has to pause the first cores until the 8th one is available. During this time the paused cores are not available for other processes.

In addition to that, more vCPUs usually don't add much performance to a VM unless the applications running on the VM are optimized to use multiple CPUs.

see http://www.vmware.com/resources/techresources/10131

So this is why, we often advise to start with 1 vCPU, check performance, add another if required, and only if required, or remove it.

Most VMware Administrators make the mistake of OVER ALLOCATION of vCPUs and Memory, because they CAN, not because the VM requires it.

VMware vSphere 4: The CPU Scheduler in VMware ESX 4
http://www.vmware.com/files/pdf/perf-vsphere-cpu_scheduler.pdf

Best Practices Using VMware Virtual SMP
www.vmware.com/pdf/vsmp_best_practices.pdf
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now