Bem, acontece que o novo driver pstate
da Intel é incrível, mas primeiro é necessário praticar um pouco da antiga arte perdida de ler a documentação.
Vou deixar minha pergunta porque, a julgar por todo o pesar e frustração que vejo espalhados pela internet, eu não sou o primeiro a ter esses problemas.
O novo driver da CPU tem muitas opções, mas vou restringir minha explicação a algo simples e, para mim, mais do que suficiente e satisfatório. Primeiro de tudo:
sudo apt-get install linux-cpupower
(ou o equivalente em suas distribuições não baseadas no debian)
Existem agora dois comportamentos (governadores) com os nomes powersave
e performance
, mas esse é um esquema de nomenclatura bastante infeliz, porque esses governadores não têm nada a ver com aqueles que possuem os mesmos nomes no antigo driver:
-
powersave
significa agora frequência variável que depende da carga , ou seja, este é essencialmente o antigoondemand
governor. Você pode definir a frequência mínima e máxima, e se essa freqüência máxima é ajustada para a freqüência máxima da sua CPU (o que eu acredito ser o padrão), então você não salva uma porcaria. Você pode até mesmo aumentar a freqüência mínima para o segundo maior valor, e o resultado será a CPU quase em plena aceleração 24/7 e o governador ainda será nomeado powersave . Eles deveriam ter nomeado este regulador VARIABLE ou algo similar, evitando muita confusão entre os usuários e poupando os desenvolvedores de muitos relatórios falsos de bugs do kernel. -
performance
significa aqui frequência constante, não importa a carga , e isso depende do que o usuário definiu como máximo. Quando este regulador é ajustado, a freqüência mínima é ignorada e a CPU é executada na freqüência que você ajustou como máximo. Se, como tal, você definiu uma frequência muito baixa, então você não verá nenhum desempenho especial ou qualquer coisa, você apenas terá uma CPU mais lenta em frequência constante. Então, é melhor eles nomearem esse governador CONSTANTE ou algo similar, poupando frustração para muitas pessoas como eu, acostumados com o antigo esquema.
Então, aqui estão alguns exemplos que funcionam como um charme, pelo menos com o kernel 4.14. Vou usar como frequência mínima e máxima os valores para o meu processador: 0,4 e 3,1 GHz. Veja o seu com cpupower frequency-info
CONSTANTE, MENOR FREQUÊNCIA EM TODOS OS CORAIS
Isto é o que eu queria! Obtemos isso configurando o regulador de frequência constante e configurando a menor frequência disponível como máxima:
sudo cpupower frequency-set -g performance
sudo cpupower frequency-set -u 400MHz
FREQUÊNCIA CONSTANTE E MAIS ALTA EM TODOS OS CORAIS
(Você vê isso com muita frequência em computadores de mesa onde faz sentido, embora também haja pessoas dispostas a destruir seus fãs de laptop)
sudo cpupower frequency-set -g performance
sudo cpupower frequency-set -u 3100MHz
FREQUÊNCIA VARIÁVEL ENTRE AS FREQÜÊNCIAS POSSÍVEIS MÍNIMAS E MÁXIMAS EM TODOS OS CORAIS
(isso foi chamado ondemand com o antigo driver acpi-cpufreq
)
sudo cpupower frequency-set -g powersave
sudo cpupower frequency-set -d 400MHz
sudo cpupower frequency-set -u 3100MHz
FREQUÊNCIA VARIÁVEL ENTRE O MÍNIMO E UMA FREQUÊNCIA MODERADA EM TODOS OS CORAIS
(talvez porque você queira ter mais velocidade quando necessário, mas você não quer alcançar o máximo e ouvir o ventilador soprando como um louco)
sudo cpupower frequency-set -g powersave
sudo cpupower frequency-set -d 400MHz
sudo cpupower frequency-set -u 1200MHz
E assim por diante. É muito fácil e funciona muito bem. Você também pode definir uma frequência baixa constante em um núcleo onde o material numérico pesado está sendo executado, enquanto você deixa uma frequência variável em outro núcleo onde você inicia o material mais comum (email, navegação na web ...). Veja taskset
para mais informações.