Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
cpu-frequtils [Le 13/12/2015, 19:54] L'Africain Maj de la page |
cpu-frequtils [Le 24/04/2023, 10:17] (Version actuelle) 77.201.253.36 Change the list module names command (3.1) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Trusty Precise matériel système processeur énergie}} | + | {{tag>Xenial Bionic matériel système processeur énergie}} |
---- | ---- | ||
Ligne 18: | Ligne 18: | ||
* Disposer des [[:sudo|droits d'administration]]. | * Disposer des [[:sudo|droits d'administration]]. | ||
* Disposer d'une connexion à Internet configurée et activée. | * Disposer d'une connexion à Internet configurée et activée. | ||
- | * Avoir activé les [[:depots|dépôts Universe]]. | ||
==== Configuration du BIOS ==== | ==== Configuration du BIOS ==== | ||
Ligne 42: | Ligne 41: | ||
<code>grep name /proc/cpuinfo</code> | <code>grep name /proc/cpuinfo</code> | ||
- | ou | ||
- | <code>sudo lshw -C cpu</code> | ||
ou encore | ou encore | ||
Ligne 49: | Ligne 46: | ||
sudo dmidecode -t processor | sudo dmidecode -t processor | ||
</code> | </code> | ||
- | FIXME Où se trouve le nom du module?? | + | |
Il existe plusieurs modules de modulation de fréquence selon les processeurs : | Il existe plusieurs modules de modulation de fréquence selon les processeurs : | ||
* ''powernow-k7'' pour les AMD Sempron/Athlon/MP (K7) | * ''powernow-k7'' pour les AMD Sempron/Athlon/MP (K7) | ||
Ligne 55: | Ligne 52: | ||
* ''p4-clockmod'' pour les Intel Pentium 4 et pour les Intel Celeron M | * ''p4-clockmod'' pour les Intel Pentium 4 et pour les Intel Celeron M | ||
* ''acpi-cpufreq'' pour les Intel Pentium M/Core Duo/Core 2 Duo | * ''acpi-cpufreq'' pour les Intel Pentium M/Core Duo/Core 2 Duo | ||
+ | * ''amd_freq_sensitivity'' | ||
+ | * ''speedstep-lib'' | ||
+ | Pour voir les noms des modules : | ||
+ | <code>ls -1 /lib/modules/$(uname -r)/kernel/drivers/cpufreq/</code> (à vérifier : FIXME) | ||
==== Définir et choisir un module permettant la modulation de la fréquence CPU ==== | ==== Définir et choisir un module permettant la modulation de la fréquence CPU ==== | ||
Les stratégies de modulation de fréquence CPU sont appelées gouverneurs (gouvernor en anglais). Ils contrôlent le système et ajustent la fréquence du CPU en conséquence. | Les stratégies de modulation de fréquence CPU sont appelées gouverneurs (gouvernor en anglais). Ils contrôlent le système et ajustent la fréquence du CPU en conséquence. | ||
Ligne 63: | Ligne 64: | ||
Les gouverneurs sont donc les suivant (du plus performant / plus énergivore au moins performant / plus économe) : | Les gouverneurs sont donc les suivant (du plus performant / plus énergivore au moins performant / plus économe) : | ||
- | * **performance** : induit la fréquence maximum du CPU ; | + | * **performance** : induit la fréquence maximum du CPU |
- | * **ondemand** : utilisation de la fréquence minimale puis augmentation au maximum lorsque la charge processeur atteint 100% en fréquence minimale ; | + | * **ondemand** : utilisation de la fréquence minimale puis augmentation au maximum lorsque la charge processeur atteint 100% en fréquence minimale |
- | * **conservative** : Identique a ondemand, mis à part qu'il passe par les autres fréquences possibles avant d'arriver à la fréquence maxi, ce qui permet de ne pas tout de suite passer le processeur au maximum. Recommandé pour les ordinateurs portables ; | + | * **conservative** : Identique a ondemand, mis à part qu'il passe par les autres fréquences possibles avant d'arriver à la fréquence maxi, ce qui permet de ne pas tout de suite passer le processeur au maximum. Recommandé pour les ordinateurs portables |
- | * **powersave** : fréquence minimum ; | + | * **powersave** : fréquence minimum |
+ | * **schedutil** : un gouverneur plus intelligent et équilibré qui vient avec le noyau Linux 4.18 | ||
<note important>Les gouverneurs **ondemand** et **conservative** ne fonctionnent pas dans deux cas fréquents : | <note important>Les gouverneurs **ondemand** et **conservative** ne fonctionnent pas dans deux cas fréquents : | ||
Ligne 91: | Ligne 93: | ||
==== Identifier les chemins des fichiers de configuration ==== | ==== Identifier les chemins des fichiers de configuration ==== | ||
- | Le bon chemin qui mène à la gestion de vos processeurs est **/sys/devices/system/cpu/cpuX/cpufreq/** avec //X// comme numéro du processeur. | + | Le bon chemin qui mène à la gestion de vos processeurs est **/sys/devices/system/cpu/cpuX/cpufreq/** avec //X// comme numéro du processeur. |
Ces dossiers contiennent les fichiers de configuration du processeur. En voici la liste : | Ces dossiers contiennent les fichiers de configuration du processeur. En voici la liste : | ||
^ Fichier ^ À quoi sert-il ? ^ | ^ Fichier ^ À quoi sert-il ? ^ | ||
- | | cpuinfo_cur_freq | la fréquence actuelle de votre proc | | + | | cpuinfo_cur_freq | la fréquence actuelle de votre processeur (en kHz)| |
- | | cpuinfo_max_freq | la fréquence maximum | | + | | cpuinfo_max_freq | la fréquence maximum (en kHz)| |
- | | cpuinfo_min_freq | la fréquence minimum | | + | | cpuinfo_min_freq | la fréquence minimum (en kHz)| |
- | | scaling_available_frequencies | les fréquences disponibles | | + | | scaling_available_frequencies | les fréquences disponibles (en kHz)| |
| scaling_available_governors | les gouverneurs disponibles | | | scaling_available_governors | les gouverneurs disponibles | | ||
- | | scaling_cur_freq | | | + | | scaling_cur_freq | la fréquence actuelle (en kHz)| |
| scaling_driver | le pilote du processeur utilisé | | | scaling_driver | le pilote du processeur utilisé | | ||
| scaling_governor | le gouverneur en action | | | scaling_governor | le gouverneur en action | | ||
Ligne 130: | Ligne 132: | ||
</file> | </file> | ||
+ | <note> | ||
+ | pour vérifier le chargement des modules au prochain reboot : | ||
+ | <note important>journalctl -u systemd-modules-load.service -f -n50</note> | ||
+ | </note> | ||
==== Configurer les modules au démarrage ==== | ==== Configurer les modules au démarrage ==== | ||
Ligne 137: | Ligne 143: | ||
<file> | <file> | ||
# valid values: userspace conservative powersave ondemand performance | # valid values: userspace conservative powersave ondemand performance | ||
- | cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors | + | cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governors |
GOVERNOR="conservative" | GOVERNOR="conservative" | ||
- | cat /sys/devices/system/cpu/cpu1/cpufreqscaling_available_governors | + | cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governors |
GOVERNOR="conservative" | GOVERNOR="conservative" | ||
</file> | </file> | ||
- | Vérifiez bien que le chemin correspond et que le dossier cpu0 existe réellement. En outre, si vous avez un deuxième cœur, il faut aussi le mentionner ici. Ex: ''devices/system/cpu/cpu1/cpufreq/scaling_governor = LE_GOUVERNEUR_QUE_VOUS_VOULEZ''. | + | Vérifiez bien que le chemin correspond et que le dossier cpu0 existe réellement. En outre, si vous avez un deuxième cœur, il faut aussi le mentionner ici. Ex: ''/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = LE_GOUVERNEUR_QUE_VOUS_VOULEZ''. |
- | Il peut arriver que la fréquence maximale des processeurs soit mal reconnue, il faudra donc rajouter au fichier: ''devices/system/cpu/cpu0/cpufreq/scaling_max_freq = FREQ_MAXIMALE_DE_MON_PROC'' et ''devices/system/cpu/cpu1/cpufreq/scaling_max_freq = FREQ_MAXIMALE_DE_MON_PROC''. | + | Il peut arriver que la fréquence maximale des processeurs soit mal reconnue, il faudra donc rajouter au fichier: ''/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = FREQ_MAXIMALE_DE_MON_PROC'' et ''devices/system/cpu/cpu1/cpufreq/scaling_max_freq = FREQ_MAXIMALE_DE_MON_PROC''. |
- | Si votre fréquence minimale était mal reconnue, pensez à aussi la définir ici avec : ''devices/system/cpu/cpu0/cpufreq/scaling_min_freq = FREQ_MINIMALE_DU_PROC'', etc. | + | Si votre fréquence minimale était mal reconnue, pensez à aussi la définir ici avec : ''/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = FREQ_MINIMALE_DU_PROC'', etc. |
==== Changer la fréquence et le gouverneur par la ligne de commande ==== | ==== Changer la fréquence et le gouverneur par la ligne de commande ==== | ||
- | Vous pouvez changer directement les fichiers ''/sys/devices/system/cpu/cpu*/cpufreq/{scaling_set_speed,governor}''. Néanmoins, le paquet ''cpufrequtils'' vous simplifiera la tâche. | + | Vous pouvez changer directement les fichiers ''/sys/devices/system/cpu/cpu*/cpufreq/{scaling_setspeed,governor}''. Néanmoins, le paquet ''cpufrequtils'' vous simplifiera la tâche. |
Le paquet ''cpufrequtils'' vous donne accès à deux commandes : | Le paquet ''cpufrequtils'' vous donne accès à deux commandes : | ||
Ligne 167: | Ligne 173: | ||
* Pour plus de renseignements :<code>man cpufreq-set</code> | * Pour plus de renseignements :<code>man cpufreq-set</code> | ||
+ | |||
+ | ==== Changer les paramètres de manière permanente ==== | ||
+ | L'initialisation se passe dans ce fichier : ''/etc/init.d/cpufrequtils'' | ||
+ | |||
+ | Pour changer les paramètres de manière permanente, il suffit d'éditer ce fichier. Par ex, vous pouvez changer le gouverneur qui est normalement par défaut : | ||
+ | GOVERNOR="ondemand" | ||
+ | | ||
+ | par : | ||
+ | |||
+ | GOVERNOR="powersave" | ||
+ | | ||
+ | |||
+ | En ligne de commande, ça donne : | ||
+ | sudo sed -i 's/^GOVERNOR=.*/GOVERNOR="powersave"/' /etc/init.d/cpufrequtils | ||
=====Voir aussi===== | =====Voir aussi===== | ||