一般禁用睿频加速将限制您的 CPU 速度,以防止运行超过基本频率。 它对于节省电量并防止计算机过热很有用。 作为选择,用户还可以设置恒定的 CPU 速度,以获得最低功耗或最高性能。如今大多数机器在 BIOS 页面中都有选项来启用/禁用甚至更改 CPU 频率,但它并不灵活。

对于 Linux,内核有一个名为 cpupower 的工具可以从命令行完成这项工作,用户可以通过 sysfs 打开/关闭 Turbo boost。 Gnome 桌面甚至还有一个图形扩展(向下滚动查看步骤 4)以使事情变得更容易。

1.通过单个命令禁用turbo boost:

根据 CPU 缩放驱动程序,有 2 个命令可启用/禁用 CPU Turbo Boost。

首先,按键盘上的 Ctrl+Alt+T 打开终端窗口,然后相应地运行以下命令。

  • 对于“intel_pstate”驱动程序

如果您的机器有 Intel CPU,请首先尝试运行以下命令:

cat /sys/devices/system/cpu/intel_pstate/no_turbo

该命令应输出:

0 – 表示 Turbo Boot 已启用!
1 – Turbo Boost 已禁用!
No such file or directory – 正在使用其他驱动程序而不是 intel_pstate

如果它输出 0,那么您可以运行命令将其值设置为 1 以禁用 Turbo boost:

echo “1”| sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo

如果为 1,则使用命令重新启用该功能:

echo “0” | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
  • 对于其他缩放驱动程序

如果上面的第一个命令输出“No such file or directory”,则说明正在使用其他缩放驱动程序。

在这种情况下,运行命令来检查 sysfs:

  • cat /sys/devices/system/cpu/cpufreq/boost

同样,该命令应输出 0 或 1。并且,您可以通过将其值设置为 1 来禁用 turo boost:

echo “1”| sudo tee /sys/devices/system/cpu/cpufreq/boost
  • 在启动时禁用turbo boost

上面的命令一直有效,直到重新启动! 在下次启动时,您的系统将恢复更改并默认启用涡轮增压功能。

在这种情况下,您可以创建一个 systemd 服务来在系统启动时自动运行上述命令。

但是,为什么不从 BIOS 设置中禁用它呢?

1)为此,首先运行命令创建系统服务:

sudo nano /etc/systemd/system/boostoff.service

该命令将创建一个名为 boostoff.service 的服务并在终端中对其进行编辑。 打开后,粘贴以下行:

[Unit]
Description=Disable Turbo Boost at startup

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"

[Install]
WantedBy=multi-user.target

编辑完成后,按 Ctrl+S 保存文件,按 Ctrl+X 退出。

2)最后,启用该服务,以便在启动时自动禁用 Turbo boost:

systemctl start boostoff.service

2. 设置最小、最大或恒定 CPU 速度

在不关闭Boost的情况下,您可以选择限制最大频率或设置恒定的CPU频率。 这可以通过 cpupower 工具来完成。

1)首先,打开终端(Ctrl+Alt+T)并运行命令来安装当前 Linux 内核的工具。

sudo apt install linux-tools-$(uname -r)

2)然后,您可以运行命令来检查正在使用哪个缩放驱动程序、您的硬件支持的最小和最大CPU频率等信息。

cpupower frequency-info

3)要设置恒定的最低 CPU 速度,只需运行:

sudo cpupower frequency-set --max 800MHz

此命令会将最大 CPU 速度限制为 800MHz。 根据您的 cpupower 频率信息输出更改数字。

要设置恒定的最大 CPU 速度,请运行:

sudo cpupower frequency-set --min 4.30GHz --max 4.30GHz

除了 4.30GHz 之外,您可以在最后一个命令中设置超出 CPU 能力的任何速度。 它将尝试以最大速度运行。 如果Turbo Boost禁用,则为基频。

作为选择,您还可以通过运行命令将 CPU 设置为特定速度(例如 2000MHz):

sudo cpupower frequency-set --freq 2000Mhz

从内核 6.6 开始,还有一个选项可以禁用涡轮增压。 但不知道为什么,它对我的 Intel CPU 不起作用。

sudo cpupower set --turbo-boost 0

禁用 GNOME 电源配置文件守护程序

对于默认的 GNOME 桌面,内置电源模式设置可能与上面的 cpupower 命令冲突。

在这种情况下,您可以通过运行以下 2 个命令来禁用 power-profiles-daemon:

首先,打开终端并停止服务:

systemctl stop power-profiles-daemon.service

然后,屏蔽它以防止下次启动时自动运行:

systemctl mask power-profiles-daemon.service

(可选)要重新启用该服务,请运行:

systemctl unmask power-profiles-daemon.service
systemctl start power-profiles-daemon.service

让 cpupower 选项在下次启动时起作用

与禁用 Turbo boost 的命令一样,cpupower 也可以工作直到重新启动!

要使其在启动时工作,首先创建服务:

创建系统服务(有些Linux安装该工具后会自动创建该服务):

sudo nano /etc/systemd/system/cpupower.service

然后粘贴以下行并按 Ctrl+S,然后按 Ctrl+X 保存。 另外,相应地更改粗体命令。

[Unit]
Description=Adjust CPU speed via cpupower

[Service]
Type=oneshot
ExecStart=/bin/sh -c "cpupower frequency-set --max 800MHz"

[Install]
WantedBy=multi-user.target

然后,通过命令启用该服务:

systemctl start cpupower.service

3.实时检查CPU速度

在进行更改之后(或同时),您可以通过运行命令来监控实时 CPU 速度:

watch -n1 "grep \"^[c]pu MHz\" /proc/cpuinfo"

它显示所有 CPU 核心的频率并每秒更新。

4. 使用图形工具管理CPU速度

图形工具管理工具下载地址:https://github.com/vagnum08/cpupower-gui/releases。 功能包括:

  • CPUPower-GUI 适用于大多数 Linux。 使用它,您可以禁用/启用 CPU
    核心、设置每个核心的最小/最大频率、设置启动时的默认配置文件等。

cpu-powergui-settings.webp

  • 对于默认的 GNOME 桌面,目前使用 cpufreq 扩展。它在顶部面板中显示实时频率,并提供首选项对话框来设置最小/最大频率、打开/关闭 CPU 内核和睿频加速以及管理配置文件和调速器。

cpufreq-extension.webp

最后修改:2024 年 03 月 19 日
如果觉得我的文章对你有用,请随意赞赏