Hyperthreading inactive on ESXi host

Symptom

You notice that there are only 40 logical processors active for a particular ESXi host while other servers with the same resource configuration all have 80 logical processors.

If you look in the BIOS you can see that HT is also enabled here.

You verify that the Hyper-Threading setting in the Server Profile and Server Profile Template within OneView is enabled.

If the above settings are configured correctly then you may want to check the HT setting in the Hardware Overview section of the ESXi host.

Select the ESXi host > Hardware > Overview > Processors > Hyperthreading > Active / Inactive?

Select the “Edit Hyperthreading” option and select the checkbox for Hyperthreading. Unfortunately, changing this setting had no effect for this host. After ticking the checkbox to enable it, the logical processor count was still at 40.

Solution

To work around this, change the VMkernel.Boot.hyperthreadingMitigation metric to “false”

You will then see an immediate change of the Hyperthreading setting in the Hardware Overview.

If you select the “Edit Hyperthreading” option, the “Enabled” option is already selected. Now reboot the ESXi host for the changes to take effect.

After the reboot you will see that the Logical Processor count has doubled. and the Hyperthreading status has changed to “Active”.