6

This may be a terminology problem at my end and a duplicate: On Intel CPUs, I can relatively easy disable turbo boost at runtime by running something like

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

The CPU then runs at its base clock without "turboing up". The nice thing is that I do not need to change BIOS/(U)EFI settings for that.

What would be the equivalent (in terms of both terminology and commands) on AMD CPUs, specifically on a Zen-1 Epyc?

I am trying to run the CPU at constant (low) speed for consistent benchmark results. I am trying to compare different software implementations of algorithms.

s-m-e
  • 171

2 Answers2

11

By default, AMD processors use the acpi-cpufreq CPU frequency scaling driver.
Check via:

grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_driver

For that driver, to disable turbo boost, do:

echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost
Doug Smythies
  • 15,448
  • 5
  • 44
  • 61
0

To make a persistent change, this command needs to be run by sudo on reboot. One way to do this is to append the setting to the crontab config file:

Edit crontab setting as admin:

sudo crontab -e

and append the command at the end of the config file:

@reboot echo "0" | tee /sys/devices/system/cpu/cpufreq/boost

Moreover, if you are using gnome, you can check this awesome extension Frequency Boost Switch to toggle the setting using GUI.