在运行时禁用AMD Zen-1 Epyc上与Intel的“Turbo Boost”相当的功能?

这可能是我这边的术语问题和重复:在英特尔处理器上,我可以相对容易地在运行时禁用 Turbo Boost,只需运行类似以下命令的内容。
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

CPU然后以基准时钟运行,没有"加速"。好处是我不需要更改BIOS/(U)EFI设置。
在AMD CPU上,特别是Zen-1 Epyc上,等效的术语和命令是什么?
我试图以恒定(低)速度运行CPU,以获得一致的基准结果。我正在尝试比较不同的算法软件实现。
2个回答

默认情况下,AMD处理器使用acpi-cpufreq CPU频率调节驱动程序。
通过以下方式进行检查:
grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_driver

对于那个驱动程序,禁用 Turbo Boost 的操作如下:
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost

如何再次禁用它? - ThomasRS
需要重新启动吗? - ThomasRS
2@ThomasRS :不,重新启动后设置将会丢失。要撤销该设置,请运行echo 1 | sudo tee /sys/devices/system/cpu/cpufreq/boost - Doug Smythies
1双引号不需要在零周围。 - cipper
我正在使用Ubuntu 22上的EPYC 7543,但它没有这个文件,而且msr-tools也无法工作。有人可以帮助我吗? - 1a1a11a
1@1a1a11a:回答写的时候情况已经发生了变化。你可能会发现新的amd-pstate CPU频率驱动现在是默认的了。我不知道这个驱动是否有类似的禁用增强(turbo-core)的选项(不确定)。 - Doug Smythies

为了使持久性更改生效,此命令需要在重新启动时通过sudo运行。一种方法是将设置附加到crontab配置文件中:
以管理员身份编辑crontab设置:
sudo crontab -e 并在配置文件末尾添加命令:
@reboot echo "0" | tee /sys/devices/system/cpu/cpufreq/boost
此外,如果您使用的是gnome桌面环境,您可以使用GUI来切换设置,可以检查这个很棒的扩展Frequency Boost Switch