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

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

Four sockets with one core per socket

Two sockets with two cores per socket

One socket with four cores per socket

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.

When you configure multicore virtual CPUs for a virtual machine, CPU hot Add/remove is disabled.

For more information about multicore CPUs, see the vSphere Resource Management Guide. You can also search the VMware KNOVA database for articles about multicore CPUs.


You must assign a value to configuration parameter keywords. If you don't assign a value, the keyword can return a value of 0, false, or disable, which can result in a virtual machine that cannot power on.


To use the VMware multicore virtual CPU feature, you must be in compliance with the requirements of the operating system EULA.

Verify that the virtual machine is powered off.

Verify that you have virtual machine hardware version 7 or later.

Verify that the total number of virtual CPUs for the virtual machine divided by the number of cores per socket is a positive integer.

Required Privilege: Advanced


In the vSphere Client inventory, right-click the virtual machine and select Edit Settings.


Select the Hardware tab and select CPUs.


Select the number of virtual processors.


Select the Options tab and Click General in the Advanced options list.


Click Configuration Parameters.


Click Add Row and type cpuid.coresPerSocket in the Name column.

You cannot make changes to the name (keyword) after you enter it.


Type a value (2, 4, or 8) in the Value column.

The number of virtual CPUs must be divisible by the number of cores per socket. The coresPerSocket setting must be a power of two.


Click OK and power on the virtual machine.

You can verify the CPU settings for the virtual machine on the Resource Allocation tab.