• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 321
  • 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

Los Angeles1
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

Best Practices Using VMware Virtual SMP
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: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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