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