Desabilitando o Intel Turbo Boost no Ubuntu

14

Sou novo no Ubuntu e quero desativar o aumento do turbo. Eu tentei com cpufreq , mas eu não consigo fazê-lo funcionar. Existe alguma outra maneira de fazer isso.

No Windows, foi tão fácil quanto mudar a velocidade da CPU de 100 para 99.

    
por Ivaylo 06.05.2015 / 07:29

3 respostas

13

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

NOte: Se você receber o seguinte erro:

rdmsr:open: No such file or directory

carregue o módulo "msr" com o seguinte comando:

sudo modprobe msr

Para desabilitar o recurso Turbo Boost, pode-se configurar todo o registro MSR 0x1a0 para 0x4000850089, como aqui:

wrmsr -pC 0x1a0 0x4000850089

Onde C se refere a um número central específico

você pode obter esses números executando

cat /proc/cpuinfo | grep processor

depois de saber seus números, você precisa executar o comando acima para cada núcleo. nos números do seu caso, seria 0 & 1 então você tem que fazer

wrmsr -p0 0x1a0 0x4000850089

wrmsr -p1 0x1a0 0x4000850089

A solução representa este blog

De link

Um script para desativar / ativar o turbo boost

O script a seguir pode ser usado para ativar / desativar o turbo:

#!/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 então configurá-lo para ser executável:

sudo chmod +x turbo-boost.sh

você pode usá-lo para desativar / ativar o turbo:

./turbo-boost.sh disable
./turbo-boost.sh enable
    
por Maythux 06.05.2015 / 07:49
21

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

Depois, você pode perguntar sobre o status do turbo ativado ou desativado:

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

Onde 0 significa que turbo está habilitado e 1 significa que está desabilitado. E você pode mudá-lo escrevendo (como sudo) para o 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 eu prefiro scripts para serem 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
    
por Doug Smythies 06.05.2015 / 16:35
1

Você pode tentar definir /sys/devices/system/cpu/cpufreq/boost value como 0.

echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost
    
por Ron 06.05.2015 / 07:39

Tags