The Scheduling Affinity option gives you detailed control over how virtual machine CPUs are distributed across the host's physical cores (and hyperthreads if hyperthreading is enabled). ESXi generally manages processor scheduling well, even when hyperthreading is enabled. These settings are useful only for detailed tweaking of critical virtual machines.

Using CPU affinity, you can assign a virtual machine to a specific processor. This assignment allows you to restrict the assignment of virtual machines to a specific available processor in multiprocessor systems.

This setting does not appear for virtual machines in a DRS cluster or when the host has only one processor core and no hyperthreading.

For potential issues with CPU affinity, see the vSphere Resource Management documentation.

Verify that the virtual machine is turned off.

Verify that the virtual machine does not reside in a DRS cluster.

Verify that the host has more than one physical processor core.

Privileges: Virtual machine.Configuration.Change resource


Right-click the virtual machine and select Edit Settings.


To locate a virtual machine, select a datacenter, folder, cluster, resource pool, host, or vApp.


Click the Related Objects tab and click Virtual Machines.


On the Virtual Hardware tab, expand CPU, and enter a comma-separated list of hyphenated processor ranges in the Scheduling Affinity text box.

For example, "0,4-7" would indicate affinity with CPUs 0,4,5,6, and 7. Selecting all processors is identical to selecting no affinity. You must provide at least as many processor affinities as you have virtual CPUs.


Click OK.