Luego de investigar con especialistas en el tema, programadores de diversas áreas y profesores hemos dado con la respuesta a la interrogande y la compartimos en este post.
Solución:
Si su sistema utiliza el controlador de escalado 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 sobre el estado 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 el “tee” correctamente, 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
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 MSR 0x1a0 en 0x4000850089, como aquí:
wrmsr -pC 0x1a0 0x4000850089
Donde C se refiere a un número central particular
Puedes obtener esos números 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
Solución significa para 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
La siguiente secuencia de comandos se puede utilizar para activar/desactivar el impulso 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
guarda 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
Puedes intentar configurar /sys/devices/system/cpu/cpufreq/boost
valor a 0.
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost
Al final de la post puedes encontrar las interpretaciones de otros creadores, tú todavía eres capaz insertar el tuyo si te apetece.