Overclock – como melhorar a performance no Raspberry pi

No Rpi é possível actuar sobre a frequência de clock do processador. Pode ser definida uma frequência mínima e máxima, por omissão no Rpi 4, respectivamente 600MHz e 1500MHz.

No meu caso o sistema operativo vinha configurado em modo "powersave", isto quer dizer que ao iniciar, o sistema opta pela velocidade máxima definida e minutos depois muda para 600MHz.
No meu caso, interessa-me que maioritariamente o sistema tenha a máxima performance e só entrar em powersave se não lhe estiver a solicitar processamento, por exemplo em portátil alimentado a baterias...

Este é também o método utilizado para fazer overclocking.

O kernel do Linux utiliza um driver para gerir a política de frequência do CPU.
As opções são as seguintes:

performance - usa sempre a frequência máxima do CPU
powersave - usa sempre a frequência mínima
ondemand - altera a frequência dependendo da carga do CPU (apenas muda entre o mínimo e o máximo)
conservative - altera suavemente a frequência da CPU dependendo da carga da CPU
userspace - permite que o utilizador controle a frequência do CPU

Como root ou sudo podemos alterar a configuração na shell em tempo real via sysfs.

Para ler a configuração actual,

Para alterar para uma das opções descritas, faça por exemplo,

Pode em qualquer momento saber a frequência do seu CPU, escrevendo no terminal,

Para modificar permanentemente esta opção no arranque, deve instalar o software "cpufrequtils",

E a seguir editar ou criar o ficheiro /etc/default/cpufrequtils e escrever a linha GOVERNOR="ondemand". Este ficheiro vai ser lido pelo script /etc/init.d/cpufrequtils

Outra opção, talvez mais simples é modificar as definições sempre no início do sistema. Edite o ficheiro /etc/rc.local

Adiciona esta linha, com o modo desejado, antes de "exit 0"

Referências:
http://with-raspberrypi.blogspot.com/2014/03/cpu-frequency.html
https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md