web-dev-qa-db-fra.com

TLP ne fonctionne pas sur le démarrage du système après la mise à niveau vers Ubuntu 21.04

Les configurations TLP ne sont pas appliquées sur le démarrage du système après la mise à niveau vers Ubuntu 21.04. La réinstallation de l'emballage n'aide pas.

Inspection de l'unité SystemD TLP tlp.service confirme le problème.

$ systemctl status tlp.service                  

● tlp.service - TLP system startup/shutdown
     Loaded: loaded (/lib/systemd/system/tlp.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://linrunner.de/tlp
2
Mustapha Hadid

Le nouveau package Power-profils-Daemon est le problème (voir TLP/Problèmes/564 ). Ce paquet est installé par défaut dans Ubuntu 21.04+ et quelques autres distributions.

Explication

Le nouveau package Power-profils-Daemon est livré avec une unité SystemD power-profiles-daemon.service. Cette unité déclara un conflit avec tlp.service provoquant tlp.service Pour être efficacement désactivé.

/lib/systemd/system/power-profiles-Daemon.Service (remarquez le Conflicts= directive)

[Unit]
Description=Power Profiles daemon
Conflicts=tuned.service tlp.service auto-cpufreq.service
Before=multi-user.target display-manager.target

...

Si une unité a un Conflicts= Directive sur une autre unité, le démarrage de l'ancien arrêtera ce dernier et vice versa. Et parce que tlp.service ne déclare pas Conflicts= directive sur power-profiles-daemon.service. Ce sera toujours celui qui est handicapé quelle que soit l'ordre d'activation des unités.

Solution

  • Vous pouvez soit désactiver l'unité Power-profils-Daemon.Service avec Sudo systemctl disable power-profiles-daemon.service; ou
  • Supprimer le package Power-profils-Daemon du système avec Sudo apt purge power-profiles-daemon.
  • Alternativement, vous pouvez remplacer tlp.service Configurations avec Sudo systemctl edit tlp.service et définir le Conflicts= avec Before= directives manuellement.
[Unit]
Conflicts=power-profiles-daemon.service
Before=power-profiles-daemon.service
3
Mustapha Hadid