VMware multicore virtual CPU support lets you control the number of cores per virtual socket in a virtual machine. This capability lets operating systems with socket restrictions use more of the host CPU's cores, which increases overall performance.


When you configure your virtual machine for multicore virtual CPU settings, you must ensure that your configuration complies with the requirements of the guest operating system EULA.

Using multicore virtual CPUs can be useful when you run operating systems or applications that can take advantage of only a limited number of CPU sockets. Previously, each virtual CPU was, by default, assigned to a single-core socket, so that the virtual machine would have as many sockets as virtual CPUs.

You can configure a virtual machine that runs on an ESXi host to have up to 32 virtual CPUs. A virtual machine cannot have more virtual CPUs than the actual number of logical CPUs on the host. The number of logical CPUs is the number of physical processor cores or two times that number if hyperthreading is enabled. For example, if a host has 32 logical CPUs, you can configure the virtual machine for 32 virtual CPUs.

You configure how the virtual CPUs are assigned in terms of sockets and cores. For example, you can configure a virtual machine with 12 virtual CPUs in the following ways:

12 virtual sockets with 1 core per socket

6 virtual sockets with 2 cores per socket

4 virtual sockets with 3 cores per socket

3 virtual sockets with 4 cores per socket

2 virtual sockets with 6 cores per socket

1 virtual socket with 12 cores per socket

For multicore CPUs, the host must have a license for Virtual SMP.

For more information about multicore CPUs, see the vSphere Resource Management documentation. You can also search the VMware Knowledge Base for articles about multicore CPUs.