Is Windows CPU Throttling Dedicated Server Performance?
We recently had a strange issue reported through a ticket where a dedicated server running Windows Server 2012 was seeing the CPU throttled at 800 MHz. The customer had already tried forcing Windows to run the CPU at full speed (Control Panel > Power Options > High Performance) and disabling the C-States within BIOS. None of these settings seemed to force the CPU to run at full speed (as needed for optimal dedicated server performance) as they do normally.
Dedicated Server Troubleshooting: Hardware or Software?
When an issue like this comes up, the first thing to do is to rule out whether this is a hardware or software (OS/Windows) related issue. The dedicated server was rebooted into a Fedora Live DVD so that the original OS would not be affected. Once booted into the Live DVD, the current frequency needs to be checked. Run the terminal application as the root user (once opening the terminal execute sudo su to switch to the root user). Install the kernel tools (yum install kernel-tools) and check the frequency with cpupower (cpupower frequency-info).
Since the operating system was idle, the cpupower command reported that it was running at 800 MHz. The next step would be to see if we can temporarily disable the throttling within Fedora. The following command forces all of the threads on the CPU to run at full speed:
for f in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance > $f ; done.
Full Speed: Dedicated Server CPU Performance
Time to see if that worked! Running the cpupower frequency-info revealed that the CPU is now running at full speed. Now we know that the issue is with Windows and not the hardware. After a few hours of research, it was apparent that this wasn’t a strange one-time occurrence. Many other users across the internet were seeing the same issues on dedicated servers, desktops, and laptops running Windows.
The issue was Windows was seeing that the CPU was running extremely hot and attempting to reduce the clock speed as much as possible to bring down the CPU temperature. In reality, the CPU was running at a very cool 33 degrees Celsius. The ThrottleStop application can disable this “feature” and get the CPU working at its regular speed. Download the application and uncheck the “BD PROCHOT” checkbox and hit save. This will immediately cause the CPU to start running at its normal speed with no reboot required.
The only downside is that this must be done on each reboot, but you can configure ThrottleStop to run at boot and automatically disable the feature.