Quiero cambiar el gobernador predeterminado en mi pi de ondemand a performance. ¿Hay alguna forma de hacer esto?
fuente
Quiero cambiar el gobernador predeterminado en mi pi de ondemand a performance. ¿Hay alguna forma de hacer esto?
No creo que pueda cambiar el valor predeterminado sin volver a compilar el núcleo. Con eso quiero decir, el que elige el núcleo cuando se inicia.
Sin embargo, puede indicarle que use un gobernador diferente mientras se ejecuta, por lo que si desea establecer de manera efectiva el valor predeterminado sin volver a compilar, puede agregar algo /etc/rc.local
u otro script de inicio.
El /sys
directorio no está en el disco; es un sistema de archivos falso en RAM que en realidad es una interfaz para obtener información y enviar comandos al núcleo. Todo esto es relativo a /sys/devices/system/cpu
, entonces:
> cd /sys/devices/system/cpu
También debe ser root para hacer los write ( echo blahblah >
). De todos modos, en relación con el directorio anterior, para ver los gobernadores disponibles:
> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
Aparentemente, el tuyo es ondemand
(pero lee "Gotcha" a continuación sobre esto); verificar:
> cat cpu0/cpufreq/scaling_governor
ondemand
Para cambiarlo:
echo performance > cpu0/cpufreq/scaling_governor
Tenga en cuenta que esto debe hacerse root, o de esta manera
sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"
Simplemente sudo
no va a funcionar porque no hay una redirección, >
.
Ahora notará que el /sys/devices/system/cpu/cpufreq
directorio (¡NO es el mismo que /sys/devices/system/cpu/cpu0/cpufreq
!), Que anteriormente contenía identificadores de archivo para configurar el gobernador bajo demanda, está vacío.
En Raspbian hay un script de inicio, el nombre confuso raspi-config
(no, no tiene nada que ver con el otro, que se ejecuta en el primer arranque por el nombre también confuso apply_noobs_os_config.sh
), que utiliza esta técnica para configurar el gobernador a ondemand
menos que la tecla shift se mantiene presionado (se ha powersave
compilado el núcleo de Raspbian ). No hace nada más, por lo que es seguro deshabilitar this ( systemctl disable raspi-config
), o puede editarlo según la respuesta de Gorkamorka , pero corre el riesgo de que una actualización del sistema no edite , etc. sabe lo que alguien planea hacer con eso.
Puede intentar agregar la versión anterior a no sudo /etc/rc.local
. Esto puede suceder después de que el raspi-config
script haya salido.
tee
:echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
.cpufrequtils
ysysfsutils
. Después de instalarlos, puede configurar el gobernador y otros parámetros desde/etc/default/cpufrequtils
y/etc/sysfs.conf
- vea aquí: wiki.debian.org/HowTo/CpuFrequencyScalingHice un pequeño programa para cambiarlo y dejé que se cambiara cada arranque creando automáticamente un script init.d.
Enlace a mi proyecto
fuente
pregunta similar sobre el intercambio de pila RPi aquí.
Parafraseando, la velocidad bajo demanda sube al máximo cuando la CPU está al 95% ocupado. Puede reducir la cantidad de tiempo ocupado a un porcentaje menor (lo que significa que aumentará cuando no esté tan ocupado):
entonces, teóricamente ... podrías poner este porcentaje en algo increíblemente bajo como 10 o 5, lo que significaría que siempre estaría funcionando al máximo.
Espero que esto ayude. ¡Asegúrese de puntuar a la persona que publicó esto en el artículo vinculado!
fuente
Una solución alternativa (si está ejecutando Raspbian) podría ser modificar el script init.d en /etc/init.d/raspi-config para deshabilitar siempre el regulador de escala. Su comportamiento predeterminado es habilitarlo solo al inicio si se presiona una de las teclas de mayúsculas:
fuente
echo "performance" | sudo tee / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor
fuente