在ubuntu中禁用Intel Turbo Boost
我是Ubuntu的新手,想要禁用涡轮增压器。 我尝试了cpufreq
但我无法让它工作。 有没有其他方法可以做到这一点。
在Windows中,将CPU速度从100更改为99非常简单。
要读取Turbo Boost的当前状态,我们需要安装msr-tools
sudo apt-get install msr-tools
要了解Turbo Boostfunction是否已禁用,请运行:
rdmsr -pi 0x1a0 -f 38:38 1=disabled 0=enabled
将i替换为核心编号
注意:如果您收到以下错误:
rdmsr:open: No such file or directory
然后通过以下命令加载“msr”模块:
sudo modprobe msr
要禁用Turbo Boostfunction,可以将整个0x1a0 MSR寄存器设置为0x4000850089,如下所示:
wrmsr -pC 0x1a0 0x4000850089
其中C指的是特定的核心数
你可以通过跑步来获得这些数字
cat /proc/cpuinfo | grep processor
一旦你知道了你的数字,就必须为每个核心运行上面的命令。 在你的情况下,数字将是0和1,所以你必须这样做
wrmsr -p0 0x1a0 0x4000850089 wrmsr -p1 0x1a0 0x4000850089
解决方案代表这个博客
来自http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html
用于禁用/启用turbo boost的脚本
以下脚本可用于关闭/启动turbo boost:
#!/bin/bash if [[ -z $(which rdmsr) ]]; then echo "msr-tools is not installed. Run 'sudo apt-get install msr-tools' to install it." >&2 exit 1 fi if [[ ! -z $1 && $1 != "enable" && $1 != "disable" ]]; then echo "Invalid argument: $1" >&2 echo "" echo "Usage: $(basename $0) [disable|enable]" exit 1 fi cores=$(cat /proc/cpuinfo | grep processor | awk '{print $3}') for core in $cores; do if [[ $1 == "disable" ]]; then sudo wrmsr -p${core} 0x1a0 0x4000850089 fi if [[ $1 == "enable" ]]; then sudo wrmsr -p${core} 0x1a0 0x850089 fi state=$(sudo rdmsr -p${core} 0x1a0 -f 38:38) if [[ $state -eq 1 ]]; then echo "core ${core}: disabled" else echo "core ${core}: enabled" fi done
将其保存到名为turbo-boost.sh
的文件中
用法:您可以复制上面的脚本并将其保存到名为turbo-boost的文件中,然后将其设置为可执行文件:
sudo chmod +x turbo-boost.sh
然后你可以用它来禁用/启用turbo boost:
./turbo-boost.sh disable ./turbo-boost.sh enable
如果您的系统使用intel_pstate频率缩放驱动程序:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver intel_pstate intel_pstate intel_pstate intel_pstate intel_pstate intel_pstate intel_pstate intel_pstate
然后,您可以查询turbo启用或禁用状态:
$ cat /sys/devices/system/cpu/intel_pstate/no_turbo 0
其中0表示启用turbo,1表示禁用turbo。 您可以通过将(作为sudo)写入同一位置来更改它。
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo 1
我从来没有记住位置或如何正确地做’tee’的事情,所以我更喜欢脚本作为sudo运行:
$ cat set_cpu_turbo_off #! /bin/bash echo "1" > /sys/devices/system/cpu/intel_pstate/no_turbo $ cat set_cpu_turbo_on #! /bin/bash echo "0" > /sys/devices/system/cpu/intel_pstate/no_turbo
您可以尝试将/sys/devices/system/cpu/cpufreq/boost
值设置为0。
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost