最近在做OAI NR的时候关闭CPU 睿频的时候出了一些问题,这里我把我找到的资料记录一下:
禁用 Turbo Boost 的过程可能会因不同的 BIOS/UEFI 和操作系统设置而有所不同。以下是一些可能的原因及解决方法:
可能的原因
-
BIOS/UEFI 设置问题:
- 你的 BIOS/UEFI 可能没有提供禁用 Turbo Boost 的选项。
- BIOS/UEFI 设置可能被锁定或受限,无法进行更改。
-
操作系统级别问题:
- 在某些操作系统中,禁用 Turbo Boost 可能需要特定的工具或命令。
- 操作系统可能覆盖了 BIOS/UEFI 设置,导致 Turbo Boost 无法被禁用。
解决方法
1. BIOS/UEFI 设置
大多数现代计算机都允许在 BIOS/UEFI 中禁用 Turbo Boost。以下是通用步骤:
-
进入 BIOS/UEFI:
- 启动电脑时,按下相应的键进入 BIOS/UEFI 设置(通常是
Del
、F2
、F10
、Esc
等)。
- 启动电脑时,按下相应的键进入 BIOS/UEFI 设置(通常是
-
找到 CPU 配置:
- 进入高级(Advanced)选项卡,找到 CPU 配置(CPU Configuration)或电源管理(Power Management)设置。
-
禁用 Turbo Boost:
- 找到 Intel Turbo Boost Technology 选项,并将其设置为 Disabled。
-
保存并退出:
- 保存设置并退出 BIOS/UEFI,重启电脑。
这个方法我的电脑没有。
2. 操作系统级别设置
如果 BIOS/UEFI 中没有选项或者设置无效,可以尝试在操作系统中进行设置。以下是 Linux 系统中的操作步骤:
使用 msr-tools
禁用 Turbo Boost
-
安装
msr-tools
:sudo apt-get install msr-tools
-
禁用 Turbo Boost:
sudo modprobe msr sudo wrmsr -a 0x1a0 0x4000850089
-
验证设置:
sudo rdmsr -a 0x1a0
使用 cpupower
禁用 Turbo Boost
-
安装
cpupower
:sudo apt-get install linux-tools-common linux-tools-$(uname -r)
-
禁用 Turbo Boost:
sudo cpupower frequency-set -g performance echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
-
验证设置:
cat /sys/devices/system/cpu/intel_pstate/no_turbo
使用 grub
设置内核参数
-
编辑
grub
配置文件:sudo nano /etc/default/grub
-
添加参数:
例如:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable"
GRUB_CMDLINE_LINUX_DEFAULT="quiet processor.max_cstate=1 intel_idle.max_cstate=0 idle=poll
-
更新
grub
配置:sudo update-grub
-
重启系统:
sudo reboot
通过这些方法,你应该能够禁用 Turbo Boost 并确保 CPU 频率的稳定。如果仍然无法禁用 Turbo Boost,建议查看你的硬件文档或联系硬件制造商获取进一步的支持。
要查看 Turbo Boost 是否被成功禁用,可以通过以下几种方法确认:
方法 1:检查 Turbo Boost 状态文件
在 Linux 系统中,你可以检查 /sys/devices/system/cpu/intel_pstate/no_turbo
文件来查看 Turbo Boost 是否被禁用。
cat /sys/devices/system/cpu/intel_pstate/no_turbo
- 如果输出是
1
,表示 Turbo Boost 已被禁用。 - 如果输出是
0
,表示 Turbo Boost 仍然启用。
方法 2:使用 cpupower
工具
使用 cpupower
工具来获取 CPU 频率信息,并检查是否在 Turbo Boost 范围内。
sudo cpupower frequency-info
你可以在输出中找到类似以下的部分:
boost state support:Supported: yesActive: no
如果 Active
是 no
,表示 Turbo Boost 被禁用。
方法 3:检查 CPU 频率
你可以使用 lscpu
命令查看当前的 CPU 频率并判断是否超出基础频率(即 Turbo Boost 被禁用后,不应超过基础频率)。
lscpu | grep 'MHz'
方法 4:使用 i7z
工具
i7z
工具能够详细展示 CPU 的运行状态,包括 Turbo Boost 状态。
- 安装
i7z
工具:
sudo apt-get install i7z
- 运行
i7z
:
sudo i7z
在输出中查找 Turbo Boost 的状态和 CPU 频率信息。如果所有核心频率都在基础频率之下或等于基础频率,且 Turbo Boost 没有激活,那么 Turbo Boost 已被禁用。
方法 5:使用 dmesg
日志
查看 dmesg
日志中的信息,确认 Turbo Boost 设置。
dmesg | grep -i turbo
你可能会看到类似如下的信息:
[ 0.000000] CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (family: 6, model: 94, stepping: 3)
[ 0.000000] intel_pstate: Disabling HWP, no P-states or turbo disabled
如果看到类似的禁用 Turbo Boost 的信息,说明 Turbo Boost 被禁用了。
通过以上方法,你可以确认 Turbo Boost 是否被成功禁用。