Gostaria de definir o regulador de escala de frequência da CPU para todos os núcleos de uma só vez, em vez de fazê-lo individualmente para cada núcleo. Existe uma maneira de fazer isso?
(Eu sei que seria fácil /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
falar com o governador , mas não estou procurando uma solução personalizada.)
Respostas:
Eu ainda sou um linux noob, mas você não acha que o cpufrequtils permite fazer isso usando (não está incluído no Ubuntu OS, mas existe no repositório)
-r
sinalizador é usado para definir a alteração para todos os núcleos ("todos os relacionados ao hardware")fonte
cpufreq-set
na verdade, falta de funcionalidade simples, mas necessária. Muitas pessoas, como mostra este contador de votos, claramente não estão cientes disso, porque sua descrição é simplesmente enganosa para completar.Pesquisei bastante no Google e acho que não é possível, então adicionei a seguinte linha ao meu
.bashrc
:Agora eu posso executar algo como
setgov ondemand
e todos os núcleos mudarão para o governador ondemand .fonte
o comando mais curto para alterar o governador de todos os núcleos é o seguinte:
Você pode adicioná-lo ao .bashrc como o htorque mencionado, terá que executá-lo como root
sudo setgov performance
:fonte
Também é possível adicionar a conclusão do código bash, enquanto estamos nisso:
fonte
A maneira como defini isso para permanecer, já que o governador volta ao padrão de economia de energia após cerca de 30 segundos agora a partir do Ubuntu 16.04 ou mais recente (estou no Ubuntu Mate);
Coloque este código (uma linha de) (obrigado, cortesia do switch87 na resposta anterior)
no arquivo no diretório
A minha é uma linha acima da "saída 0" e não comentada, abaixo das comentadas.
"rc.local" para quem não sabe, executa o comando como sudo. Qualquer comando que pareça, para mudar o governador, precisa ser executado como sudo.
Ele permite que o governador retorne ao powersave e execute o código como sudo após 60 segundos para voltar ao desempenho.
Altere o "60" (no código que você copia) para o tempo que for necessário (em segundos. 60 = 60 segundos = 1 minuto) para adiar o comando e a "performance" (na parte de comando) para qual governador você deseja mudar para.
Fora das minhas horas e horas de pesquisa, não encontrei uma solução mais permanente para isso do que isso. Eu acho que há alguns minutos em economia de energia, se essa é a melhor solução que eu encontrei, certo? Direita.
Não é a melhor solução, mas a torna um pouco permanente depois que faz, é uma pequena mudança para a economia de energia. Se você deseja inicializar e saltar para um jogo ou algo do tipo, terá que esperar um minuto para o código que você inseriu para voltar ao powersave ou diminuir o tempo (dependendo de quanto tempo leva tudo para iniciar, para voltar ao desempenho corretamente).
E, como sempre, para voltar ao padrão (vi alguns problemas com o superaquecimento dos PCs das pessoas, e é por isso que eles podem ter o padrão de economia de energia em primeiro lugar) basta remover o código do rc.local e reiniciá-lo ou ligá-lo novamente manualmente com o comutador do indicador de ícone da CPU ou execute;
no terminal e ou reinicie.
fonte
Você pode fazer isso para todos os núcleos de uma só vez executando
fonte
Baseando-me na resposta do switch87, criei um script simples
cpufreq-set-all
, que permitirá fazer outrascpufreq-set
coisas com todas as CPUs:Agora pode ser invocado (depois
chmod +x
, é claro) assim:ou
fonte