Eu sou novo no Ubuntu e quero desativar o turbo boost. Eu tentei com cpufreq
mas não consigo fazê-lo funcionar. existe alguma outra maneira de fazer isso.
No Windows, era tão fácil quanto mudar a velocidade da CPU de 100 para 99.
cpupower
.
Eu sou novo no Ubuntu e quero desativar o turbo boost. Eu tentei com cpufreq
mas não consigo fazê-lo funcionar. existe alguma outra maneira de fazer isso.
No Windows, era tão fácil quanto mudar a velocidade da CPU de 100 para 99.
cpupower
.
Respostas:
Para ler o estado atual do Turbo Boost, precisamos instalar o msr-tools
sudo apt-get install msr-tools
Para saber se o recurso Turbo Boost está desativado, execute:
rdmsr -pi 0x1a0 -f 38:38
1=disabled
0=enabled
Substitua i pelo seu número de núcleos
NOTA: Se você receber o seguinte erro:
rdmsr:open: No such file or directory
depois carregue o módulo "msr" pelo seguinte comando:
sudo modprobe msr
Para desativar o recurso Turbo Boost, é possível definir o registro 0x1a0 MSR inteiro como 0x4000850089, como aqui:
wrmsr -pC 0x1a0 0x4000850089
Onde C se refere a um número principal específico
ou você pode obter esse número executando
cat /proc/cpuinfo | grep processor
depois que você souber seus números, precisará executar o comando acima para cada núcleo. no seu caso, os números seriam 0 e 1, então você tem que fazer
wrmsr -p0 0x1a0 0x4000850089
wrmsr -p1 0x1a0 0x4000850089
From http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html
Um script para desativar / ativar o turbo boost
O script a seguir pode ser usado para ativar / desativar o 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
salve isso em um arquivo chamado turbo-boost.sh
Uso: Você pode copiar o script acima e salvá-lo em um arquivo chamado turbo-boost e configurá-lo para ser executável:
sudo chmod +x turbo-boost.sh
você pode usá-lo para desativar / ativar o turbo boost:
./turbo-boost.sh disable
./turbo-boost.sh enable
$ rdmsr -pi 0x1a0 -f 38:38
fornece apenas uma lista de opções para usar com o comando por exemplo: Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
A sintaxe acima está desatualizada / não é aplicável de maneira geral?
Se o seu sistema estiver usando o driver de escala de frequência 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
Em seguida, você pode consultar o status de turbo ativado ou desativado:
$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0
Onde 0 significa que o turbo está ativado e 1 significa que está desativado. E você pode alterá-lo gravando (como sudo) no mesmo local.
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1
Eu nunca me lembro da localização ou como fazer a coisa `tee 'corretamente, então prefiro que os scripts sejam executados como 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
sudo echo "0" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
set_cpu_turbo_off
script acima ser executado durante a inicialização.
sudo echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo 1 tee: /sys/devices/system/cpu/intel_pstate/no_turbo: Operation not permitted
sudo wrmsr --all 0x1a0 0x4000850089
faz o truque.
Você pode tentar definir o /sys/devices/system/cpu/cpufreq/boost
valor como 0.
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost