
Estou tentando usar o governador no modo de desempenho, mas sempre que verifico os valores de frequência vejo uma frequência menor que a frequência da CPU. Estou usando uma CPU Intel(R) Xeon(R) E5-2650 v4 a 2,20 GHz
$ grep -E '^model name|^cpu MHz' /proc/cpuinfo
...
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 2502.455
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 2510.818
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 2510.623
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 1200.373
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 1200.297
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 1201.526
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
cpu MHz : 1200.133
...
Primeiro de tudo, coloquei o governador no modo de desempenho no /etc/default/cpufrequtils
. Além disso, me livrei dos serviços sob demanda. Além disso, defini energy_perf_bias
como 0 para todos os núcleos
for cpu in /sys/devices/system/cpu/cpu{0..47}; do
echo 0 > "$cpu/power/energy_perf_bias"
done
e eu configurei o min_perf_pct
driver intel_pstate para 100
echo 100 > /sys/devices/system/cpu/intel_pstate/min_perf_pct
Também da configuração do kernel que eu configureiCONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
Eu usei as seguintes opções do grub para inicializar o kernel
intel_pstate=no_hwp intel_idle.max_cstate=0 processor.max_cstate=1 idle=halt
Mas ainda assim os núcleos não funcionam todos na mesma frequência máxima.
Suspeito que o problema aqui é que o governador tenta ultrapassar a frequência base de 2,20 GHz, pois seus limites estão entre 1,2 GHz e 2,9 GHz. Portanto, provavelmente o governador reduz a frequência de alguns núcleos para ficar dentro do TDP (Thermal design power).
Assim, para tentar evitar isso, desativei a frequência turbo
echo -n 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
e defina a frequência mínima de escala para 2,2 GHz, /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq
mas ainda existem núcleos que não funcionam a 2,2 GHz
$ cpufreq-info
...
analyzing CPU 12:
driver: intel_pstate
CPUs which run at the same hardware frequency: 12
CPUs which need to have their frequency coordinated by software: 12
maximum transition latency: 4294.55 ms.
hardware limits: 1.20 GHz - 2.90 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 2.20 GHz and 2.20 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.20 GHz.
...
Como posso fazer com que todos os núcleos funcionem a 2,2 GHz?
Obrigado