Soy nuevo en Ubuntu y quiero deshabilitar el turbo boost. Lo intenté cpufreq
pero no puedo hacerlo funcionar. Hay alguna otra forma de hacerlo.
En Windows fue tan fácil como cambiar la velocidad de la CPU de 100 a 99.
cpupower
.
Soy nuevo en Ubuntu y quiero deshabilitar el turbo boost. Lo intenté cpufreq
pero no puedo hacerlo funcionar. Hay alguna otra forma de hacerlo.
En Windows fue tan fácil como cambiar la velocidad de la CPU de 100 a 99.
cpupower
.
Respuestas:
Para leer el estado actual del Turbo Boost, necesitamos instalar msr-tools
sudo apt-get install msr-tools
Para saber si la función Turbo Boost está deshabilitada, ejecute:
rdmsr -pi 0x1a0 -f 38:38
1=disabled
0=enabled
Reemplace i con su número de núcleos
NOTA: si obtiene el siguiente error:
rdmsr:open: No such file or directory
luego cargue el módulo "msr" con el siguiente comando:
sudo modprobe msr
Para deshabilitar la función Turbo Boost, se puede configurar todo el registro 0x1a0 MSR en 0x4000850089, como aquí:
wrmsr -pC 0x1a0 0x4000850089
Donde C se refiere a un número central particular
puedes obtener ese número ejecutando
cat /proc/cpuinfo | grep processor
luego, una vez que sepa sus números, debe ejecutar el comando anterior para cada núcleo. en su caso los números serían 0 y 1, por lo que debe hacer
wrmsr -p0 0x1a0 0x4000850089
wrmsr -p1 0x1a0 0x4000850089
La solución representa este blog
De http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html
Un script para deshabilitar / habilitar turbo boost
El siguiente script se puede usar para activar / desactivar el 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
guardar esto en un archivo llamado turbo-boost.sh
Uso: puede copiar el script anterior y guardarlo en un archivo llamado turbo-boost y luego configurarlo para que sea ejecutable:
sudo chmod +x turbo-boost.sh
luego puede usarlo para deshabilitar / habilitar turbo boost:
./turbo-boost.sh disable
./turbo-boost.sh enable
$ rdmsr -pi 0x1a0 -f 38:38
me da solo una lista de opciones para usar con el comando. por ejemplo: Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
¿La sintaxis anterior está desactualizada / no es aplicable de manera general?
Si su sistema está utilizando el controlador de escala de frecuencia 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
Luego, puede consultar el estado de turbo habilitado o deshabilitado:
$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0
Donde 0 significa que el turbo está habilitado y 1 significa que está deshabilitado. Y puede cambiarlo escribiendo (como sudo) en la misma ubicación.
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1
Nunca recuerdo la ubicación o cómo hacer correctamente el 'tee', así que prefiero que los scripts se ejecuten 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 anterior se ejecute durante el inicio.
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
hace el truco.
Puede intentar establecer el /sys/devices/system/cpu/cpufreq/boost
valor en 0.
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost