Sono nuovo di Ubuntu e voglio disabilitare il turbo boost. Ho provato con cpufreq
ma non riesco a farlo funzionare. c'è un altro modo per farlo.
In Windows è stato facile cambiare la velocità della CPU da 100 a 99.
cpupower
.
Sono nuovo di Ubuntu e voglio disabilitare il turbo boost. Ho provato con cpufreq
ma non riesco a farlo funzionare. c'è un altro modo per farlo.
In Windows è stato facile cambiare la velocità della CPU da 100 a 99.
cpupower
.
Risposte:
Per leggere lo stato attuale di Turbo Boost, è necessario installare msr-tools
sudo apt-get install msr-tools
Per sapere se la funzione Turbo Boost è disabilitata, eseguire:
rdmsr -pi 0x1a0 -f 38:38
1=disabled
0=enabled
Sostituisci i con il tuo numero di core
NOTA: se viene visualizzato il seguente errore:
rdmsr:open: No such file or directory
quindi caricare il modulo "msr" con il seguente comando:
sudo modprobe msr
Per disabilitare la funzione Turbo Boost, è possibile impostare l'intero registro MSR 0x1a0 su 0x4000850089, come qui:
wrmsr -pC 0x1a0 0x4000850089
Dove C si riferisce a un determinato numero di core
puoi ottenere quel numero correndo
cat /proc/cpuinfo | grep processor
quindi una volta che conosci i tuoi numeri devi eseguire il comando sopra per ogni core. nel tuo caso i numeri sarebbero 0 e 1, quindi devi farlo
wrmsr -p0 0x1a0 0x4000850089
wrmsr -p1 0x1a0 0x4000850089
La soluzione sta per questo blog
Da http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html
Uno script per disabilitare / abilitare il turbo boost
Il seguente script può essere utilizzato per disattivare / attivare il 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
salvalo in un file chiamato turbo-boost.sh
Utilizzo: è possibile copiare lo script sopra e salvarlo in un file chiamato turbo-boost, quindi impostarlo come eseguibile:
sudo chmod +x turbo-boost.sh
puoi quindi usarlo per disabilitare / abilitare turbo boost:
./turbo-boost.sh disable
./turbo-boost.sh enable
$ rdmsr -pi 0x1a0 -f 38:38
mi dà solo un elenco di opzioni da utilizzare con il comando. es: Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
la sintassi sopra è obsoleta / non applicabile in modo generale?
Se il sistema utilizza il driver di ridimensionamento di frequenza 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
Quindi è possibile verificare lo stato di turbo abilitato o disabilitato:
$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0
Dove 0 significa che turbo è abilitato e 1 significa che è disabilitato. E puoi cambiarlo scrivendo (come sudo) nella stessa posizione.
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1
Non ricordo mai la posizione o come fare correttamente la cosa "tee", quindi preferisco che gli script vengano eseguiti come 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 sopra per l'esecuzione durante l'avvio.
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
fa il trucco.
Puoi provare a impostare il /sys/devices/system/cpu/cpufreq/boost
valore su 0.
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost