Ma vie rêvée

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - powertop

Fil des billets - Fil des commentaires

jeudi 18 août 2016

Powertop, appliquer les recommandations à chaque démarrage

Pour ceux qui ne connaissent pas powertop, il s'agit d'un utilitaire Linux qui permet de visualiser la consommation de son système, que ce soit les programmes ou le matériel. Il fournit également des recommandations pour améliorer sa consommation énergétique (et incidemment l'autonomie si vous êtes sur batterie), en particulier au travers d'options à activer au niveau du noyau linux. Powertop va même jusqu'à les activer lui-même si vous lui demandez.

Malheureusement, par défaut, ces options ne persistent pas au redémarrage. Il est alors nécessaire de faire un peu de configuration, et là plusieurs options s'offrent à vous. Sans être exhaustif, en voici quelques unes. A noter que powertop donne le chemin des fichiers à modifier dans l'onglet Tunable lorsque l'on active ou désactive une ligne.

Passer une option à un module au démarrage

pour trouver l'option, utiliser modinfo nom_module et rechercher les lignes parm. Ensuite, il suffit de passer l'option au module dans le fichier /etc/modprobe.conf ou via un fichier dans /etc/modprobe.d.

options snd_hda_intel power_save=2

Cette ligne désactive la carte son après deux secondes d'inactivité. C'est une méthode plutôt élégante mais qui nécessite que l'option soit disponible et parfois de régénerer un initrd si le module est chargé dedans. Pas forcément toujours super simple

Créer un fichier éxécuté au démarrage

Soit un script shell soit un fichier service pour systemd, généralement à base de

echo 2 > /sys/module/snd_hda_intel/parameters/power_save

C'est moins élégant que le méthode précédente et nécessite de savoir écrire un service systemd ou un script shell d'init (ce n'est pas forcément très compliqué, cf par exemple ce billet). C'est toutefois un plus souple que la première méthode. A noter que powertop a une option --auto-tune qui active toute les recommandations en une commande.

Utiliser tmpfiles.d

la dernière méthode, que j'utilise actuellement, nécessite systemd et utilise un service de ce dernier nommé tmpfiles.d dont le role est de créer/supprimer/modifier des fichiers volatiles ou temporaires. Via un fichier d'instruction placé dans /etc/tmpfiles.d ; on peut donc créer, détruire, etc. mais surtout dans notre cas aller écrire une valeur dans un fichier spécifique (j'utilise powersave.conf) :

w /sys/module/snd_hda_intel/parameters/power_save - - - - 2

Je trouve pour ma part que c'est l'option la plus souple et la moins compliqué puisqu'il suffit de reprendre les chemins et les options fournis par powertop (pas d'option à chercher) d'une part, et que la syntaxe est plus simple que la création de service ou script d'init d'autre part. Son défaut principal étant de nécessiter systemd.