VMware ESX - Disabling hyper threading for a specific virtual machine

Description

(info) Credits: Virtual Insanity.

How do I go about disabling hyper threading for a specific virtual machine while leaving the option enabled in the BIOS of the ESX host?

The Hyperthreading Sharing option on the properties tab of a virtual machine provides control of whether a virtual machine should be scheduled to share a physical processor given hyper-threading is enabled on the host. There are three (3) options for this setting:

  1. Any – This is the default setting. The vCPUs of this VM can freely share cores with other virtual CPUs on this or other virtual machines
  2. None – The vCPUs of this virtual machine have exclusive use of a processor whenever they are scheduled to the core.
  3. Internal – On a virtual machine with exactly two (2) vCPUs, the two (2) vCPUs are allowed to share one (1) physical core, but this virtual machine never shares a core with any other virtual machine. Note: if the virtual machine has any other number of vCPUs

These options have no effect on fairness or CPU time allocation. Regardless of a virtual machine’s hyper-threading setting it still receives the appropriate CPU time relative to CPU share and any CPU reservations or limits are honored. This setting can be adjusted regardless of the power state of the virtual machine.

Selecting the None option in effect disables hyper threading for your virtual machine.

Step-by-step guide

Right click the virtual machine > Properties

Click the Resources tab:
blog1

Click Advanced CPU:

blog2

Under "Hyperthreaded Core Sharing", use the drop down to select None:

blog3

Virtual Insanity - Give Me the Whole Core and Nothing but the Whole Core



© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.