Server User Manual

If there is no work for a logical processor, it is put into a halted state, which frees its execution resources and
allows the virtual machine running on the other logical processor on the same core to use the full execution
resources of the core. The VMware scheduler properly accounts for this halt time, and charges a virtual machine
running with the full resources of a core more than a virtual machine running on a half core. This approach to
processor management ensures that the server does not violate any of the standard ESX/ESXi resource
allocation rules.
Consider your resource management needs before you enable CPU affinity on hosts using hyperthreading.
For example, if you bind a high priority virtual machine to CPU 0 and another high priority virtual machine
to CPU 1, the two virtual machines have to share the same physical core. In this case, it can be impossible to
meet the resource demands of these virtual machines. Ensure that any custom affinity settings make sense for
a hyperthreaded system.
Enable Hyperthreading
To enable hyperthreading you must first enable it in your system's BIOS settings and then turn it on in the
vSphere Client. Hyperthreading is enabled by default.
Some Intel processors, for example Xeon 5500 processors or those based on the P4 microarchitecture, support
hyperthreading. Consult your system documentation to determine whether your CPU supports
hyperthreading. ESX/ESXi cannot enable hyperthreading on a system with more than 32 physical cores,
because ESX/ESXi has a logical limit of 64 CPUs.
Procedure
1 Ensure that your system supports hyperthreading technology.
2 Enable hyperthreading in the system BIOS.
Some manufacturers label this option Logical Processor, while others call it Enable Hyperthreading.
3 Make sure that you turn on hyperthreading for your ESX/ESXi host.
a In the vSphere Client, select the host and click the Configuration tab.
b Select Processors and click Properties.
c In the dialog box, you can view hyperthreading status and turn hyperthreading off or on (default).
Hyperthreading is now enabled.
Set Hyperthreading Sharing Options for a Virtual Machine
You can specify how the virtual CPUs of a virtual machine can share physical cores on a hyperthreaded system.
Two virtual CPUs share a core if they are running on logical CPUs of the core at the same time. You can set
this for individual virtual machines.
Procedure
1 In the vSphere Client inventory panel, right-click the virtual machine and select Edit Settings.
2 Click the Resources tab, and click Advanced CPU.
3 Select a hyperthreading mode for this virtual machine from the Mode drop-down menu.
Hyperthreaded Core Sharing Options
You can set the Hyperthreaded Core Sharing Mode for a virtual machine using the vSphere Client.
You have the following choices for this mode.
Chapter 2 Managing CPU Resources
VMware, Inc. 19