Saturday, 20 February 2016

How to choose right number of Virtual Sockets and Core per Socket for a Virtual machine in VMware?

Or, What are the factors to consider while allocating CPU cores to a Virtual Machine?
Or, CPU Core allocation for a Virtual Machine in VMware vSphere.

Factors that should be considers while allocating CPU cores to a Virtual Machine:

On Virtual Machine:
1. Number of virtual sockets
2. Number of cores per socket

On ESXi Host:
1. Processor Sockets
2. Processor Cores per Socket
3. Logical Processors

The truth is, you can choose to have any number of Processor Socket and Core per Socket while allocating vCPUs to any Virtual Machine. That’s the real virtualization concept. No matter how much processor socket your ESXi host have, or how much processor cores are mentioned per socket.
The only thing is, Number of CPU cores should match your requirement.
Example: If you want to allocate 6 vCPU (Cores) to a virtual machine, you can do it one of way shown below (both are correct):

Another thing that we should focus on is total number of Logical Processors (per host).
Logical Processor (host): This shows that, how much maximum cores can be allocated to a virtual machine if you want to keep one ESXi reserved for any specific virtual machine. If the total numbers of Logical Processors are 40, you can allocate 40 cores to a VM.

Please Note: It does not mean that you can’t allocate more than 40 Cores to a VM. But the good practice is to not overload the ESXi host. If you will overload it, its going to reduce the performance of the VM.

Overall allocation can go beyond 40 cores combining all/multiple VMs running on a ESXi host but the allocation for a single VM should not exceed the maximum capacity of it’s current host. In short, VMs can share their resources between VMs as per the usage and requirements, but Hosts can’t share resources with another Host in the cluster.

Example: lets understand what’s good and what’s not with the help of below graph.

Hope it will make your understanding clear about CPU allocation in VMware virtualization. For any feedback, suggestion or query, please write me back in comment box... above explanation is based my understanding of resources allocation. It may be changed or updated.


1 comment: