Optimizing CPU Utilization in Virtual Machines on ESXi

The Mystery of ESXi Hosts and Turbo Boost: Unveiling the Truth

As a seasoned IT professional, you may have noticed something peculiar when it comes to ESXi hosts and their CPU usage. Specifically, you might have observed that the host only reports the base frequency of the CPU to the guest operating system, even though the actual Turbo Boost frequency is being used by the host. This has led some to assume that ESXi hosts only work at the base frequency, but this is not entirely accurate. In this blog post, we will delve into the mysteries of ESXi hosts and Turbo Boost, and explore what’s really going on under the hood.

The Basics of Turbo Boost

First, let’s start with a brief overview of Turbo Boost. Turbo Boost is a technology developed by Intel and AMD that allows the CPU to increase its frequency beyond its base speed when necessary. This is achieved by increasing the clock speed of the CPU’s cores, allowing it to handle more workloads and increase overall system performance.

ESXi Hosts and Turbo Boost

Now, let’s talk about how ESXi hosts and Turbo Boost interact with each other. As mentioned earlier, the host only reports the base frequency of the CPU to the guest operating system. However, this doesn’t mean that the host is only working at the base frequency. In fact, the host can use any Turbo Boost frequency that is available, depending on the workload and the specific CPU being used.

To illustrate this point, let’s consider an example using an AMD Epyc 75F3 CPU. This CPU has a base frequency of 2.95 GHz, but it can also turbo boost up to 3.95 GHz. When running under a light workload, the CPU might be operating at a frequency closer to the base speed of 2.95 GHz. However, when faced with a more demanding workload, the CPU can ramp up its frequency to match the Turbo Boost speed of 3.95 GHz.

The Role of BIOS and ESXi Configurations

So, how does this happen? The answer lies in the BIOS and ESXi configurations. When the host boots up, it reads the BIOS settings to determine the Turbo Boost frequency that is available. The BIOS settings can be configured to prioritize performance or power savings, depending on the specific use case.

In addition, ESXi has its own set of configuration options that can affect the CPU’s behavior. For example, you can configure ESXi to prioritize performance or power savings, or to adjust the Turbo Boost frequency based on the workload. These configurations can be accessed through the ESXi CLI tools, such as esxtop.

Monitoring CPU Usage with esxtop

To monitor the CPU usage of your ESXi hosts, you can use the esxtop command. This command allows you to view detailed information about the host’s hardware and software components, including the current CPU frequency. To access this information, simply run the following command:

esxtop -C

This will display a list of all cores on the host, along with their current percentage usage. If a core is operating at 100% usage, it means that the CPU is running at its maximum Turbo Boost frequency. Any lower percentage usage indicates that the core is operating below the Turbo Boost frequency, which can be a sign of power savings or a less demanding workload.

Conclusion

In conclusion, ESXi hosts do not only operate at the base frequency of the CPU, but can also use any available Turbo Boost frequency to handle more demanding workloads. The BIOS and ESXi configurations play a crucial role in determining the Turbo Boost frequency that is available, and can be adjusted based on the specific use case. By monitoring CPU usage with esxtop, you can gain valuable insights into your host’s performance and make informed decisions about how to optimize your ESXi environment.