Para activar la gestión de la velocidad del procesador y optimizar los megahercios a que funciona dependiendo del rendimiento que le estemos pidiendo, tenemos que instalar el programa CPU Freq Utils, lo podemos hacer desde una Terminal de la siguiente forma:
sudo apt-get install cpufrequtils
Normalmente se instala con la opción ondemand
esto hace subir el procesador según las necesidades de trabajo que le estemos demandando, pero primando un buen rendimiento frente a limitar el consumo.
Podéis ver las frecuencias de procesador disponibles y el tipo de control, lo que se denomina governor
que está seleccionado y funcionando con el siguiente comando en la Terminal:
cpufreq-info
En la Raspberry Pi B+ single core ARMv6 tenemos lo siguiente:
Las frecuencias van desde 700MHz hasta la máxima seleccionada en raspi-config en la sección de overclock
en mi caso 900MHz, se puede subir a 1000MHz y no hay más escalones ni por abajo ni por arriba. Por ejemplo, con el sistema de gestión puesto en modo ondemand
. Al lado de cada frecuencia nos indica el porcentaje de tiempo que se ha usado esa frecuencia desde que se arrancó la Raspberry Pi la última vez.
En la ODROID-C1 ARMv7 quad core Cortex-A5 tendríamos:
Vemos que hay frecuencias que van desde 96MHz hasta 1730MHz siendo el tipo de gestión ondemand
. El procesador solo llega hasta la velocidad 1540MHz, para subir más habría que hacer overclock y en este caso no hay garantía de que sea seguro hacerlo como en la Raspberry Pi.
Con la ODROID-C1 hay un problema, si otro más, y es que el ondemand no funciona y está fija la velocidad a 1540MHz,de ahí que tenga un 100% a su lado indicando que todo el tiempo va a esa velocidad. Si queréis que esto baje cuando no se necesite y limitar el consumo y el calor producido hay dos opciones disponibles, que funcionan y que además son mucho más versátiles que en el caso de la Raspberry Pi (punto positivo para la ODROID-C1).
Las dos opciones disponibles son conservative
y hotplug
. Que pueden activarse de la siguiente forma, elegís una u otra y veis que tal os funcionan.
Conservative es muy similar a ondemand
pero da prioridad a consumir menos en vez de al rendimiento, esta opción si funciona bien y es la que estoy usando por defecto.
cpufreq-set -g conservative
Hotplug es similar a conservative
pero es aún más agresiva con el consumo y no solo baja los megahercios del procesador, sino que llega a apagar completamente los cores no usados, de forma que se convierte en un dual core o single core a 96MHz. Repito a 96MHz no 900MHz el ahorro de energía puede ser brutal en un entorno alimentado con baterías.
cpufreq-set -g hotplug
Esta selección la podéis hacer permanente con cada arranque de la ODROID-C1 de la siguiente forma. Editamos este fichero desde la Terminal con el siguiente comando:
sudo nano -w /etc/init.d/cpufrequtils
Ahora buscamos donde pone XXXXX = «ondemand» y ponemos «conservative» o «hotplug», como se ve en esta imagen.
La próxima vez que arranquemos la frecuencia estará controlada con estos criterios variables de forma que el procesador se calentará menos, el consumo será menor y el impacto en el rendimiento debe ser más o menos reducido. En cualquier caso si queremos sacar más potencia en un momento dado lo podemos cambiar para esa necesidad haciendo de nuevo:
cpufreq-set -g ondemand
Esta opción seguirá mientras no la cambiemos manualmente o reiniciemos el equipo que volverá a la seleccionada en el fichero /etc/init.d/cpufrequtils
Igualmente os pongo las opciones disponibles en la ODROID-U3 y en la Banana PRO.
ODROID-U3 ARMv7 quad core Cortex-A9
Banana PRO ARMv7 dual core Cortex-A7
Picuntu ARMv7 RK3066 dual core Cortex-A9
La imagen de la cabecera es una transformación de Speed light 2 de Jonel Hanopol con licencia Creative Commons.