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
Los Angeles1Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VMware

From novice to tech pro — start learning today.