Modificando definitivamente o Governador de CPU

Utilize seu computador com total performance, ou economize o máximo de bateria possível, apenas alterando seu Governador de CPU definitivamente!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


Já abordei aqui no site sobre o Governador de CPU, sua função, recursos e como fazer pequenos ajustes temporários nele. Agora, vou ensinar como modificar definitivamente um parâmetro do Governador de CPU para deixar seu computador com o melhor desempenho que ele suporta por padrão!

Introdução

O Governador de CPU basicamente controla a maneira como o kernel Linux vai fazer a CPU executar os diversos processos de um computador. Por padrão, a maioria das distribuições linux possuem o governador de CPU ajustado para ondemand, enquanto que nos notebooks/netbooks ele vem definido como powersave.

Lembrando que quem define o modo de funcionamento do governador é o kernel Linux no momento da instalação do sistema.

Relembrando das definições, temos:

  • OnDemand (Sob Demanda)
    Este é o principal governador de CPU dos eletrônicos hoje em dia, ele faz a CPU manter sua frequência no nível mais baixo permitido (800Mhz, por exemplo) e aumenta a frequência para o máximo, conforme a necessidade. Quando estiver em espera, a frequência cai automaticamente. Assim temos um bom desempenho e poupamos a bateria dos equipamentos.
  • Performance
    Neste modo é forçado o estado de alta performance, mantendo o clock alto mesmo se o computador não estiver em uso (estiver num descanso de tela por exemplo). Em tese o desempenho é máximo porém também desnecessário, se comparar com o desempenho do OnDemand; além de que o consumo de energia será altíssimo e, em notebooks, a bateria vai esgotar mais rapidamente.
  • PowerSave (Economia de Energia)
    Este modo é oposto ao Performance, ele mantém o sistema no clock mais baixo, não importando o que estiver sendo utilizado. Na teoria serve para preservar energia sob qualquer circunstância, principalmente em notebooks. Na prática isso prejudica o desempenho do sistema, lentidões serão sentidas em qualquer programa aberto, inclusive enfraquecendo a potencia do sinal de transmissão de WiFi ou Bluetooth.
  • Conservative (Conservador)
    Ao contrário do PowerSave, que usa a frequência mínima o tempo todo, o Conservador tenta usar o clock mínimo de CPU porém aumenta a frequência de forma gradual e lenta conforme necessário. Logo que estiver em pouco uso, volta ao mínimo. É considerado um “OnDemand Lento” que se ajusta de forma mais conservadora, evitando sobrecargas.

Apesar de permitir-se ser modificado temporariamente, o governador de CPU pode ser ajustado definitivamente, preservando o estado salvo a cada reinício do sistema, desde que o modo escolhido seja suportado pela máquina.

Primeiro, verifique qual o modo de operação atualmente definido pelo seu processador:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Agora, verifique os modos suportados pelo seu hardware com o comando:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

A saída de comando deverá ser algo semelhante a:

performance powersave ondemand

Agora, com estes dados em mãos, decida qual modo de funcionamento você deseja deixar por padrão.
Decidiu? Ótimo, agora, dependendo do sistema, procure pelo seguinte arquivo:

  • Debian, CentOS, Ubuntu 16.04 e/ou seus sabores inferiores, e outros sistemas Linux:
    /etc/init.d/ondemand
  • Manjaro:
    /etc/default/cpupower
  • Ubuntu 18.04 e/ou seus sabores superiores:
    /lib/systemd/set-cpufreq

Edite o arquivo acima com seu editor de textos favorito como usuário root e modifique as linhas lá dentro da seguinte maneira:

Aonde estiver $GOVERNOR, somente nesse trecho:

echo “Setting $GOVERNOR scheduler for all CPUs”
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
[ -f $CPUFREQ ] || continue echo -n $GOVERNOR > $CPUFREQ
done

Apague apenas essa variável e renomeie para a escala que você desejar. Ou seja, por exemplo, estava $GOVERNOR, apaguei e escrevi performanceficando assim:

echo “Setting performance scheduler for all CPUs”
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
[ -f $CPUFREQ ] || continue echo -n performance > $CPUFREQ
done

OBS: Durante uma atualização rotineira de sistema, haverão ocasiões em que o SystemD ao ser atualizado vai fazer mudanças nesse arquivo deixando-o original e apagando suas modificações.
Mude suas permissões para somente leitura com este comando, conforme sua distro:

  • Debian, CentOS, Ubuntu 16.04 e/ou seus sabores inferiores, e outros sistemas Linux:
    $ sudo chmod 555 /etc/init.d/ondemand
  • Manjaro:
    $ sudo chmod 555 /etc/default/cpupower
  • Ubuntu 18.04 e/ou seus sabores superiores:
    $ sudo chmod 555 /lib/systemd/set-cpufreq

Pronto!

Salve, saia e reinicie o computador.

Ao iniciar, seu sistema deverá carregar com o governador definido á sua escolha.
Você poderá confirmar isso com o seguinte comando:

$ journalctl -b | grep performance

Trocando o “performance” pelo modo de funcionamento que você deseja utilizar.
A saída do comando deverá ser semelhante a:

nov 22 18:53:34 msi-cubi kernel: ENERGY_PERF_BIAS: Set to ‘normal’, was ‘performance’
nov 22 18:53:36 msi-cubi cpufrequtils[962]: * CPUFreq Utilities: Setting performance CPUFreq governor…
nov 22 18:53:41 msi-cubi set-cpufreq[861]: Setting performance scheduler for all CPUs

Caso defina em PowerSave por exemplo, o boot poderá ficar um pouco mais lento pois forçará clock mais baixo, mas em compensação, se por exemplo for um notebook, a bateria vai durar muito bem; Se definir como Performance, o desempenho geral ficará ligeiramente melhor, porém atento que, se for um notebook, a bateria vai esgotar mais rapidamente; não faz mal usar esse método em computadores de mesa.

Lembrando que você apenas mudou o governador de CPU para que ele opere em sua frequência máxima normal! Ou seja, se o limite máximo em regime de uso comum for 3 Ghz, a CPU vai se manter em 3 Ghz. Esse modo de operação não oferece riscos de desgaste do equipamento por superaquecimento ou outras possibilidades de problemas, que um overclock normalmente oferece, que seria fazer a CPU sair dos 3Ghz para começar a operar a 4Ghz, por exemplo.

Caso seu sistema apresente qualquer problema, basta editar o arquivo novamente e voltar a variável para $GOVERNOR como anteriormente.

#UrbanCompassPony

Fonte:
Level1Techs

13 comentários em “Modificando definitivamente o Governador de CPU”

  1. Gostei da matéria e da dica!
    Mudei o meu pra performance, já que o OnDemand não é possível no meu notebook.
    Parabéns e continue assim, trazendo novidades legais!

    Responder
  2. ja faz um tempo que eu queria algo assim, bem aproveitando gostaria de sabe se não existe um kernel, talvez, que de uma performance maior. sem ser os kernels REAL TIME?

    Responder
    • Gostei da pergunta! O Kernel Linux Real Time no momento é o unico mais rapido, de melhor performance no momento. Dentro do mundo Linux, o que temos são exemplos como o Liquorix, que são RT mas ainda no limite da otimização; E você ainda tem a opção menos amigável de compilar um manualmente, enxugando-o e deixando-o ainda mais perfeito. Agora, fora do mundo Linux e do mundo UNIX, temos kerneis proprietários Real Time de altíssima performance usados em aplicações científicas, militares e medicinais, como exemplo o VxWorks, pago e proprietário, muito usado em satélites e foguetes. Mais detalhes do vxWorks: https://www.windriver.com/

      Responder
      • obrigado! qual kernel você indicaria sem precisa compilar rt ou liquorix ou outro.? por que estou fazendo teste em uma maquina muito simples um celeron de 2×1.10 com 2 de ram seguindo seu tutorial e esse https://www.linuxmint.com.br/discussion/51150/habilitando-zswap-zstd-z3fold tive ótimos resultados tendo em mente que estou usando linux mint 19.1 com cinnamon claro que seu eu optasse xfce provavelmente teria mas desempenho. gostei do seu site e acho que conteúdos são bem uteis.

        Responder
        • Pela especificação da máquina o ideal era um kernel Generic e não um RealTime. O Real Time possui maior foco em otimização pra quem edita audio e video, o que em alguns computadores (não generalizando nem afirmando que vá acontecer no seu caso) pode ocorrer gargalo de processamento, por exemplo, a CPU/RAM ficar tão rápida, que o tradicional gargalo do HD aumente, gerando momentos de lentidão.
          Se eu comparar esse caso como um game, é como escolher entre rodar um game em 30 FPS cravados, ou roda-lo acima de 30, porém oscilando entre 50 e 40, o que cria um lag perceptível apesar de estar melhor que o caso anterior. Mas vai do usuário e da máquina que está em uso.

          Responder
          • bom amigo muito obrigado pelas dicas, estou testando o kernel liquorix esta muito fluido o sistema com os 2 tutoriais. Seria bom se você quisesse claro fazer um tutoria juntando os 2 + o kernel. Acho que ajudaria muito as outras pessoas.

    • Normalmente maquinas compactas e notebooks só vem com essa opção, quem limita o governador de CPU é a propria CPU: Ela so libera pro kernel aquilo que ela permite ser usado. Note que todo AMD tem muito mais opções de governador, pelo menos 7 itens kkkkkkk Intel costuma ser mais restritiva nisso.

      Responder
  3. Fiz tudo que vc falou conforme tutorial, depois de reiniciar o PC

    Fui no terminal e digitei o comando: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    e aparece PEFORMACE e não savepower pq ????

    Responder

Deixe um comentário