一般禁用睿频加速将限制您的 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
核心、设置每个核心的最小/最大频率、设置启动时的默认配置文件等。
- 对于默认的 GNOME 桌面,目前使用 cpufreq 扩展。它在顶部面板中显示实时频率,并提供首选项对话框来设置最小/最大频率、打开/关闭 CPU 内核和睿频加速以及管理配置文件和调速器。