¿Por qué mi Pi funciona a 700MHz todo el tiempo?

12

Mi RasPi está configurado para overclock de 900MHz usando raspi-config, pero sigue funcionando a 700MHz incluso bajo carga. Ya he encontrado esta respuesta , y mi sistema también funciona con dinámica

for info in /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_*
do 
  echo ${info}
  sudo cat ${info}
done

Salida:

/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
700000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
900000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
700000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency
355000

Incluso cuando se sirven archivos grandes a través de SMB y se ejecuta apt-get update, la frecuencia se mantendrá en 700 MHz. ¿Por qué?

Arne
fuente
Oh wow, ahora lo vi dos veces yendo a 900 MHz. Estoy usando watch -n 1 cat /sys/...para controlar la frecuencia. Tal vez no tengo un problema después de todo.
Arne
1
Hacer mucho IO (servir archivos, descargar a través de apt) no es una actividad intensiva del procesador, ya que el IO en sí es un cuello de botella, lo que significa que el procesador debe esperar, por lo que mientras el sistema está ocupado trabajando tan rápido como puede en uno sentido, el procesador puede estar mayormente inactivo.
Ricitos de oro
@goldilocks: Bueno, smbd y ntfs-3g producían cerca del 100% de carga, aproximadamente 50% de usuario y 50% de carga del sistema cada uno. Habría asumido que es suficiente, pero tal vez la carga del sistema era algún tipo de E / S en espera.
Arne
FYI aquí es una manera más fácil de imprimir su configuración: grep "" / sys / devices / system / cpu / cpu0 / cpufreq / cpuinfo_ *
Ludovic Ronsen

Respuestas:

14

Incluso con la frecuencia dinámica establecida, la Raspberry Pi tiene un umbral de escala de frecuencia predeterminado muy alto.

Para citar esta publicación de blog sobre el overclocking de Pi:

El gobernador bajo demanda utilizado en la Raspberry Pi aumentará la velocidad de la CPU al valor máximo configurado siempre que se encuentre ocupado más del 95% del tiempo. Eso suena bastante justo para la mayoría de los casos, pero si desea ese aumento de velocidad adicional incluso cuando el sistema realiza tareas algo más ligeras, tendrá que reducir el umbral de carga. Esto también se hace fácilmente escribiendo un valor entero en un archivo (puede poner lo siguiente, por ejemplo, en el /etc/rc.localarchivo de inicio):

echo 60> / sys / devices / system / cpu / cpufreq / ondemand / up_threshold

Aquí estamos diciendo que nos gustaría que el modo Turbo se active cuando la CPU esté ocupada al menos el 60% del tiempo. Eso es suficiente para hacer que el Pi se sienta un poco más ágil durante el uso general.

También puede establecer el rendimiento del gobernador de CPU en lugar de bajo demanda mediante un comando similar:

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

El rendimiento mantendrá la CPU sincronizada al 100% todo el tiempo. Puede encontrar información detallada sobre los modos disponibles aquí: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt

Jonathan Milford
fuente
Eso es lo que estaba buscando!
Arne
0

Hice un pequeño programa para automatizar el proceso que Jonathan Milford describió muy bien. Hace esto en cada arranque para que persista.

Enlace a mi proyecto

MeisterD
fuente