VMware ESXi and vSphere Cluster Management
Enable Hyper-Threading on VMware ESXi
Learn what Intel Hyper-Threading does in VMware ESXi, verify hardware support, enable it in BIOS/UEFI and ESXi, and validate performance.
Intel Hyper-Threading is a simultaneous multithreading technology that allows one physical CPU core to expose two logical processors. ESXi can schedule work on these logical processors, but they do not provide the same capacity as two independent physical cores.
What Hyper-Threading means
Before configuring Hyper-Threading, distinguish the processor layers:
- Physical CPU: A processor package or socket installed in the server.
- Physical core: An independent processing core inside a CPU package.
- Logical processor: A hardware execution context visible to an operating system or hypervisor.
With Intel Hyper-Threading enabled, a physical core commonly provides two logical processors. For example, a server with two CPU packages and eight physical cores per package has 16 physical cores. If every core supports two hardware threads, ESXi can expose 32 logical processors.
| CPU packages | Cores per package | Threads per core | Physical core total | Logical processor total |
|---|---|---|---|---|
| 2 | 8 | 1 | 16 | 16 |
| 2 | 8 | 2 | 16 | 32 |
How ESXi uses logical processors
ESXi is a bare-metal hypervisor. Its VMkernel CPU scheduler assigns virtual machine work to available logical processors. Hyper-Threading gives the scheduler more hardware execution contexts and can help it use processor resources that might otherwise be idle.
The two logical processors belonging to one physical core are often called sibling threads. When both siblings are busy, they compete for resources within that core. Consequently, two scheduled threads on sibling logical processors generally provide less capacity than two threads running on separate physical cores.
Virtual machines with multiple virtual CPUs use virtual symmetric multiprocessing, or vSMP. Assigning more vCPUs does not create more physical capacity. vCPU sizing should account for the host's physical cores, logical processors, workload behavior, and contention.
Benefits and limitations
| Area | Potential benefit | Potential limitation | Validation method |
|---|---|---|---|
| Host utilization | Uses execution resources that could otherwise be idle. | Additional logical processors are not equivalent to additional physical cores. | Compare host CPU utilization and workload throughput. |
| CPU scheduling | Provides ESXi with more scheduling opportunities. | Sibling logical processors share core resources. | Review CPU ready time, contention, and scheduler behavior. |
| Application performance | Some parallel workloads improve. | Some applications see little benefit or a regression. | Run representative application tests and measure latency. |
Performance gains vary with the workload, application behavior, and processor architecture. CPU-intensive or latency-sensitive applications may compete for shared resources on sibling threads. Do not assume a fixed percentage improvement; measure the workloads that matter to your environment.
Compatibility and prerequisites
- Confirm that the installed Intel processor supports Hyper-Threading.
- Check the server vendor's hardware documentation and BIOS/UEFI setup documentation.
- Verify the relevant processor setting in the server firmware. The label is commonly Intel Hyper-Threading Technology, but the menu location and wording vary by vendor and firmware version.
- Use a supported ESXi host and sufficient vSphere privileges to modify advanced system settings.
- Plan a maintenance window. Firmware changes and some host configuration changes require a reboot.
Hardware and firmware support are required before ESXi can use Hyper-Threading. The feature is normally enabled by default when supported, but always verify its actual state rather than assuming it is active.
Enable Hyper-Threading in BIOS or UEFI
- Review the server vendor documentation and identify the installed CPU model.
- Restart the server during an approved maintenance window.
- Enter the BIOS or UEFI setup utility during startup.
- Open the processor, CPU configuration, or equivalent menu.
- Set Intel Hyper-Threading Technology to Enabled.
- Save the firmware configuration and restart the host.
The exact menu path depends on the server manufacturer and firmware version. If the option is unavailable, do not assume that ESXi can enable it independently; investigate CPU support and vendor-specific firmware controls.
Enable the ESXi advanced setting
After the host has booted with Hyper-Threading enabled in firmware, configure the ESXi host through the vSphere Web Client:
- Sign in to the vSphere Web Client.
- Select the ESXi host in the inventory.
- Open Manage, then Settings.
- Open Advanced System Settings.
- Locate
VMkernel.Boot.hyperthreading. - Edit the option and select the enabled value, shown as Enabled or Yes depending on the interface.
- Save the change and follow any prompt indicating that a restart or other host operation is required.
VMkernel.Boot.hyperthreading is an ESXi advanced system setting in the VMkernel configuration namespace. The firmware setting and this ESXi setting must both permit Hyper-Threading for the expected topology to be available to ESXi.
Operational checklist
| Stage | Action | Management location | Restart or maintenance impact |
|---|---|---|---|
| Plan | Schedule a maintenance window and confirm workload requirements. | Change-management process | Plan for host downtime or evacuation. |
| Evacuate | Place the host in maintenance mode and evacuate or shut down virtual machines as appropriate. | vSphere Web Client | Required according to the cluster and workload design. |
| Firmware | Enable Intel Hyper-Threading Technology. | Server BIOS/UEFI | A host reboot is typically required. |
| ESXi | Set VMkernel.Boot.hyperthreading to Enabled or Yes. | Host > Manage > Settings > Advanced System Settings | Follow the host's restart requirement. |
| Verify | Confirm the expected logical processor count and topology. | ESXi host and vSphere Web Client | Perform after the host is available. |
| Document | Record firmware and ESXi settings for cluster consistency. | Configuration documentation | Repeat consistently across comparable hosts. |
Verify the result
After the host restarts and returns to service, confirm that ESXi reports the expected number of logical processors. Recalculate the expected value from the actual hardware topology:
logical processors = CPU packages × cores per package × threads per core
For example:
2 packages × 8 cores per package × 2 threads per core = 32 logical processors
This calculation is valid only when the processor and firmware expose two threads for every listed core. Use the actual topology reported by the server and ESXi rather than relying solely on a product specification.
Validate workload performance
Compare measurements from before and after activation. Use a baseline collected under comparable workload and operating conditions.
- Host CPU utilization.
- Virtual machine CPU ready time.
- Application throughput.
- Application latency and response time.
- Behavior of CPU-intensive virtual machines.
- Contention affecting latency-sensitive workloads.
Test representative production-like workloads rather than depending on synthetic assumptions. Retain the setting when measured results meet capacity and latency objectives. If performance declines, inspect sibling-thread contention, guest CPU behavior, cache-sensitive processing, and resource allocation before deciding whether to keep the change.
Troubleshooting
The firmware menu has no Hyper-Threading option
- The installed CPU may not support Hyper-Threading.
- The option may be hidden, renamed, or located under a vendor-specific processor configuration menu.
- The firmware may require an update or a different configuration mode.
Verify the exact CPU model and consult the server vendor's firmware documentation. Do not enable unrelated processor options without understanding their effects.
ESXi shows fewer logical processors than expected
- Hyper-Threading may be disabled in BIOS or UEFI.
- The host may not have been rebooted after the firmware change.
VMkernel.Boot.hyperthreadingmay still be disabled.- The expected topology may have been calculated incorrectly.
Check the firmware state, restart when required, verify the ESXi advanced setting, and recalculate the count using the actual package, core, and thread values.
Performance did not improve or declined
- The application may not benefit from additional logical processors.
- Sibling threads may be competing for shared physical-core resources.
- The workload may be sensitive to latency, cache behavior, or processor contention.
Benchmark the workload, inspect host and guest CPU metrics, and base the configuration decision on measured performance.
The advanced setting cannot be changed or has no effect
- Confirm that your vSphere account has sufficient privileges.
- Confirm that the processor and firmware support Hyper-Threading.
- Check whether the host must be in a particular state or must be rebooted.
- Verify that both the firmware setting and
VMkernel.Boot.hyperthreadingallow the feature.
Summary
Hyper-Threading exposes two logical processors from a supported physical core. ESXi can schedule work across those logical processors, increasing scheduling opportunities, but the siblings share core resources and are not equivalent to two physical cores. Enable the feature in server BIOS/UEFI, verify VMkernel.Boot.hyperthreading in the vSphere Web Client, confirm the resulting logical processor count, and validate the change with representative workload measurements.
For related administration guidance, see Enable Hyper-Threading on VMware ESXi.