Ceci est une ancienne révision du document !
Fréquences matérielles
Fréquence Uncore
Une fréquence par socket. Le comportement peut se configurer depuis le BIOS.
À partir de Linux 5.6, il y a un support directement dans Linux (si compilé avec CONFIG_INTEL_UNCORE_FREQ_CONTROL=y).
Les fichiers à consulter sont dans /sys/devices/system/cpu/intel_uncore_frequency/.
Fréquence des CPUs
Toutes les informations sont dans /sys/devices/system/cpu/cpu0/cpufreq/.
On peut obtenir des informations avec cpupower frequency-info du paquet linux-cpupower.
Les drivers permettent de communiquer avec le processeur pour lui indiquer à quelle fréquence tourner. Celui activé par défaut maintenant est intel_pstate. Ensuite, les governors permettent de dire au driver à quelle fréquence le processeur doit fonctionner. Le driver intel_pstate n'en permet que deux: performance et power_save (voir la page de ArchLinux pour plus d'infos).
Changer les fréquences manuellement
Avec intel_pstate, pour changer les valeurs limites des fréquences, il est possible d'écrire une valeur en pourcentage dans les fichiers /sys/devices/system/cpu/intel_pstate/{min,max}_perf_pct (source):
# zsh semble poser problème... sudo sh -c "echo 28 > /sys/devices/system/cpu/intel_pstate/max_perf_pct"
Sinon il est aussi possible de changer les limites avec cpupower:
sudo cpupower frequency-set -u 3000MHz # max sudo cpupower frequency-set -d 2800MHz # min
Si on souhaite se passer de intel_pstate pour pouvoir utiliser le driver userspace et vraiment définir nous-même la fréquence, il faut d'abord désactiver intel_pstate, en rajoutant intel_pstate=disable à la ligne de boot. Ensuite:
cpupower frequency-info # nous dit qu'on peut utiliser userspace et quelles sont les fréquences permises sudo cpupower frequency-set -g userspace sudo cpupower frequency-set -f 1600000
Turbo boost
Savoir si le turbo boost est activé (Source):
cat /sys/devices/system/cpu/intel_pstate/no_turbo # 0 => turbo boost on, off otherwise