Linux, systemd e PowerTOP: come applicare –auto-tune al boot

Per la felicità degli utenti Linux possessori di CPU Intel, il colosso di Santa Clara ha da tempo sviluppato PowerTOP, uno strumento molto utile soprattutto in ambito mobile, che serve a visualizzare lo stato dell’impatto energetico della CPU e dei relativi sottosistemi, e che permette inoltre di applicare al sistema Linux alcuni tuning sul kernel e sui device per ridurre il consumo di corrente.
PowerTOP può, inoltre, applicare automaticamente questi tuning per migliorare il risparmio energetico tramite l’esecuzione, come root, di: powertop --auto-tune

Vediamo ora come applicare –auto-tune automaticamente al boot tramite systemd.
Creare (come root) in /etc/systemd/system/ un file vuoto chiamato powertop.service
Editare il file appena creato inserendo:
[Unit]
Description=PowerTOP auto tunings


[Service]

Type=idle
Environment="TERM=dumb"
ExecStart=/usr/sbin/powertop --auto-tune


[Install]
WantedBy=multi-user.target

Se volete inibire l’attivazione del risparmio energetico per tastiera e mouse (su questi device i tunings a volte sono noiosi) inserite prima del paragrafo [Install] le seguenti righe:
ExecStart=/usr/bin/echo 'on' > '/sys/bus/usb/devices/1-2/power/control'
ExecStart=/usr/bin/echo 'on' > '/sys/bus/usb/devices/1-4/power/control'

A questo punto è sufficiente eseguire systemctl daemon-reload per ricaricare la lista dei servizi systemd, eseguire systemctl enable powertop.service per abilitare il servizio all’avvio al boot, e riavviare il sistema.
Al boot successivo, potrete verificare che i tunings siano stati effettivamente applicati verificando nel pannello “Tunables” che tutte le voci siano impostate al valore “Good”.