| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| linux:frequencies [2020/07/15 15:37] – [Fréquence des CPUs] add cstates and temperature phsw | linux:frequencies [2025/05/24 18:05] (Version actuelle) – [Fréquences matérielles] add link phsw |
|---|
| ====== Fréquences matérielles ====== | ====== Fréquences matérielles ====== |
| | |
| | * [[https://www.grid5000.fr/w/CPU_parameters]] |
| | |
| | * [[https://github.com/readex-eu/libfreqgen]] |
| | |
| | * [[https://chipsandcheese.com/p/zen-5s-avx-512-frequency-behavior|Zen 5's AVX-512 Frequency Behavior]] |
| | |
| | On peut utiliser l'outil ''powertop'' (fourni par le paquet éponyme). |
| |
| |
| === C-states === | === C-states === |
| |
| * http://ena-hpc.org/2014/pdf/paper_06.pdf | * [[http://ena-hpc.org/2014/pdf/paper_06.pdf]] |
| * https://access.redhat.com/articles/65410 | * [[https://access.redhat.com/articles/65410]] |
| * https://www.deltasight.fr/processeurs-gestion-energie-frequence/ | * [[https://www.deltasight.fr/processeurs-gestion-energie-frequence/]] |
| * https://doc.ubuntu-fr.org/utilisateurs/naziel/gestion_energie_processeur | * [[https://doc.ubuntu-fr.org/utilisateurs/naziel/gestion_energie_processeur]] |
| * https://community.intel.com/t5/Software-Tuning-Performance/How-can-I-lock-my-Xeon-CPU-frequency-in-Ubuntu/m-p/1126076#M6300 | * [[https://community.intel.com/t5/Software-Tuning-Performance/How-can-I-lock-my-Xeon-CPU-frequency-in-Ubuntu/m-p/1126076#M6300]] |
| |
| En plus de faire attention au //driver// et au //governor//, il faut tenir compte des C-states, qui sont des états où les cœurs inoccupés réduisent leur fréquence, voir vident leur cache. Suivant le C-state dans lequel est un cœur, il met plus ou moins de temps à repasser à sa fréquence nominale. | En plus de faire attention au //driver// et au //governor//, il faut tenir compte des C-states, qui sont des états où les cœurs inoccupés réduisent leur fréquence, voir vident leur cache. Suivant le C-state dans lequel est un cœur, il met plus ou moins de temps à repasser à sa fréquence nominale. |
| ==== Surveiller la température ==== | ==== Surveiller la température ==== |
| |
| * https://askubuntu.com/a/15834 | * [[https://askubuntu.com/a/15834]] |
| |
| <code bash> | <code bash> |
| cat /sys/class/thermal/thermal_zone*/temp # en millidegrés Celsius | cat /sys/class/thermal/thermal_zone*/temp # en millidegrés Celsius |
| | |
| | # ou bien fouiller dans |
| | cat /sys/class/hwmon/hwmon*/temp* |
| | |
| | # ou bien, fourni par le paquet lm-sensors : |
| | sensors |
| </code> | </code> |
| |
| |
| |
| ==== Hyper threading ==== | |
| |
| (ou //logical processor//, //SMT//) | |
| |
| Pur le désactiver, plusieurs possibilités: | ==== Changer la fréquence maximale des cœurs au démarrage ==== |
| * dans le BIOS | |
| * écrire dans ''/sys/devices/system/cpu/smt/control'' | * [[https://wiki.archlinux.org/title/CPU_frequency_scaling]] |
| | * [[https://wiki.debian.org/CpuFrequencyScaling]] |
| | |
| | (sur Raspberry Pi) |
| | |
| | Créer une règle udev : |
| | <file bash /etc/udev/rules.d/50-throttle-frequency.rules> |
| | SUBSYSTEM=="module", ACTION=="add", KERNEL=="cpufreq_dt", RUN+="/bin/sh -c 'cpupower -c all frequency-set -u 900MHz'" |
| | </file> |
| | |
| | Lorsque le module ''cpufreq_dt'' est chargé au lancement du noyau, exécute la commande ''RUN''. Pour connaître après quel module exécuter la commande, trouver le driver avec ''cpupower frequency-info'', et trouver le nom du module noyau correspondant avec ''lsmod | grep cpufreq'' (ici, ''-'' est transformé en ''_''). |
| | |
| | Redémarrer. |
| | |
| | |
| | ==== Changer le gouverneur par défaut ==== |
| | |
| | * [[https://askubuntu.com/questions/1322492/how-to-set-as-default-performance-mode-on-ubuntu-20-04-instead-of-powersave]] |
| | * [[https://moisescardona.me/changing-the-cpu-governor-to-performance-in-linux/]] |
| | |
| | Ajouter ''cpufreq.default_governor=powersave'' à la variable ''GRUB_CMDLINE_LINUX_DEFAULT'' dans le fichier ''/etc/default/grub''. Mettre à jour GRUB : |
| | <code bash> |
| | update-grub |
| | </code> |
| | |
| |
| |
| |
| |