como fazer cpugovernor intel_pstate estável?

3

Estou tentando definir uma frequência específica no controlador da cpu. No entanto, não estou conseguindo fazer isso. Meu processador é 12 * CPU Intel (R) Xeon (R) E5-2620 v3 a 2,40 GHz

Com o driver intel_pstate, ele fornece uma faixa de frequência de 1,20 GHz a -3,20 GHz. O escalonamento freq atual, eu não posso definir a um freq específico. Eu configurei o governador para o desempenho. Mas isso não ajuda. cpufreq-set -r -f 3.2GHz - não funciona;

Eu tentei definir o menor freq; cpufreq-set -r -d 3,2 GHz; não mostra nenhum erro, mas mesmo assim a freq continua variando com o tempo.

Desativei intel_pstate (durante a inicialização) e o driver acpi ativado. Mas com o acpi, o máximo que posso conseguir é de 2,4 GHz em 12 núcleos. Isso 2,4 GHz, eu posso fazer estável o tempo todo com cpufreq-set -r -f. Mas eu não posso configurá-lo para 3,2 GHz.

Alguém poderia me dizer como definir o uso do cpugovernor, para que eu possa definir a frequência para 3,2 GHz? Meu SO é o Ubuntu 14.4.3 LTS e a versão do kernel é 3.19.0-25 genérica.

O cpufreq-info mostra o seguinte resultado.

analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 3.20 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.20 GHz and 3.20 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.85 GHz.

Para outros núcleos também, os resultados são assim e a frequência atual varia com o tempo.

screenshot_i7z

captura de tela pstate freq

    
por Sanjoy Basak 15.11.2015 / 11:11

2 respostas

2

Não é possível que o seu processador esteja sempre na velocidade máxima de 3200MHz o tempo todo. Se você tiver muitos núcleos ativos ao mesmo tempo, a frequência máxima será de apenas 2,6 Ghz, e esse limite é fundamental dentro do próprio processador (veja também sua captura de tela do i7z - linha Max Turbo Multiplier). No entanto, você pode facilmente ter todas as CPUs sempre em 2,6 GHz, definindo os números percentuais mínimo e máximo de acordo. No entanto, observe que você ainda observará, às vezes, menos frequência, pois o processador pode se desligar sozinho em condições de carga muito baixas. Ainda mais fácil seria ajustar o turbo off e o modo performance, efetivamente fazendo todo o CPU rodar a 2,4 GHz o tempo todo (mas, novamente, o processador em si pode recuar em carga extremamente baixa).

Exemplo para definir 2,6 Ghz (se eu fiz a minha matemática corretamente):

echo "81" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
echo "81" | sudo tee /sys/devices/system/cpu/intel_pstate/min_perf_pct

Exemplo para o método não-turbo:

echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
$ sudo su
# for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "performance" > $file; done
# exit
exit
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance
performance
performance
performance
performance
    
por Doug Smythies 26.11.2015 / 17:45
2

Eu tive o mesmo "problema" há um tempo atrás e encontrei esta ferramenta de linha de comando simples após várias horas de pesquisa:

link

Para instalá-lo, basta seguir as instruções no repositório.

O que o script faz é que ele permite que você informe à sua CPU suas configurações preferidas em relação à velocidade do clock , governador e turbo boost .

Mas tenha em mente que, como as CPUs Intel mais recentes são altamente otimizadas e fazem o gerenciamento de energia por conta própria, você não pode forçar sua cpu, e sim sugerir o que deseja.

Veja isso na descrição de pstate-frequency :

  

Para processadores Intel contemporâneos, a frequência é controlada pelo   processador em si e os estados P expostos ao software estão relacionados   níveis de desempenho. A ideia de que a frequência pode ser definida para um único   freqüência é ficção para processadores Intel Core. Mesmo se o dimensionamento   motorista seleciona um único estado P a freqüência real do processador   será executado em é selecionado pelo próprio processador.

Para obter a maior clockspeed possível (permanentemente 3,2 GHz (idealmente)) e o governador de desempenho execute isso depois de instalar o script:

sudo pstate-frequency --color -S -p 3

Você pode usar pstate-frequency -G --color para obter seu plano de energia definido no momento.

Para mim, usando uma intel i7-4790K, eu recebo permanentemente 4400 MHz com todos os núcleos.

Para verificar o seu relógio cpu atual, você pode usar:

watch -n 0,3 'cat /proc/cpuinfo | grep "MHz"'

Isto irá listar a velocidade dos clocks de todos os seus threads de cpu.

No meu caso, depois de definir o plano de energia '3' ( [...] -p 3 ) (performance) eu recebo:

cpu MHz     : 4399.843
cpu MHz     : 4400.156
cpu MHz     : 4391.093
cpu MHz     : 4400.000
cpu MHz     : 4400.000
cpu MHz     : 4400.468
cpu MHz     : 4400.156
cpu MHz     : 4361.718
    
por Flatron 16.11.2015 / 18:30