Il kernel Linux offre varie modalità di sospensione, ovvero lo stato a basso consumo energetico che addormenta il PC per risparmiare batteria quando non è in uso ma consentire di riprendere quasi-istantaneamente il lavoro. Sfortunatamente, capita che la configurazione di default selezioni il pessimo Suspend-to-Idle (detto anche S2I oppure S2Idle) invece del migliore Suspend-to-RAM (altresì chiamato STR, S2RAM o S3). Vediamo allora come verificare la modalità di sospensione in uso sul portatile e selezionare Suspend-to-RAM (S3) con Linux (Ubuntu)

Linux / Ubuntu notebook: migliorare durata batteria attivando sospensione S3, Suspend-to-RAM (STR, S2RAM, deep) - ubuntu attivare s3 deep Suspend-to-RAM spotlight

Ho testato questa procedura con Ubuntu, ma, trattandosi si una caratteristica offerta dal kernel Linux, è analoga con qualsiasi altra distribuzione.

Verificare la modalità di sospensione in uso

Iniziamo verificando quale sia la modalità di sospensione attualmente in uso:

  1. Aprire il Terminale
  2. impartire cat /sys/power/mem_sleep

Nella risposta ritornata, le parentesi quadre indicano la modalità attualmente in uso. Nello screenshot seguente, ad esempio, abbiamo ottenuto in risposta [s2idle] deep: significa che il sistema operativo sta utilizzando Suspend-to-Idle, ovvero la peggiore

Linux / Ubuntu notebook: migliorare durata batteria attivando sospensione S3, Suspend-to-RAM (STR, S2RAM, deep)

In alternativa:

  1. premere il tasto Win sulla tastiera
  2. digitare sospe
  3. premere Invio per lanciare Sospendi
  4. attendere 10 secondi
  5. premere il tasto di accensione per riprendere il lavoro
  6. da terminale, impartire sudo journalctl | grep "PM: suspend" | tail -2

Ora analizzare l'output: se la prima riga recita PM: suspend entry (s2idle), il PC ha usato la modalità di sospensione meno efficiente.

Modificare la modalità di sospensione

Per modificare il comportamento e selezionare la migliore Suspend-to-RAM (qui indicata come deep), procediamo così:

  1. Aprire il Terminale
  2. impartire sudo nano /etc/default/grub
  3. individuare la dicitura GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  4. aggiungere uno spazio dopo la parola splash
  5. aggiungere un altro valore: mem_sleep_default=deep

Il risultato finale sarà dunque:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep"

Linux / Ubuntu notebook: migliorare durata batteria attivando sospensione S3, Suspend-to-RAM (STR, S2RAM, deep) - mem_sleep_default deep

Chiudere e salvare con la sequenza da tastiera Ctrl+O, Invio, Ctrl+X.

Per rendere effettiva la modifica, rigenerare la configurazione partendo dal file modificato tramite il comando sudo grub-mkconfig -o /boot/grub/grub.cfg

Linux / Ubuntu notebook: migliorare durata batteria attivando sospensione S3, Suspend-to-RAM (STR, S2RAM, deep)

Ora riavviare il PC.

Tornati al desktop, impartire nuovamente il comando visto sopra per interrogare lo stato. La risposta dovrebbe essere s2idle [deep], segno che è divenuta attiva la modalità Suspend-to-RAM

Linux / Ubuntu notebook: migliorare durata batteria attivando sospensione S3, Suspend-to-RAM (STR, S2RAM, deep)

Migliorare l'autonomia con PowerTOP

Completata questa ottimizzazione, probabilmente vorrete installare anche PowerTOP: un'utility open source per Linux, sviluppata da Intel, che consente di ridurre drasticamente il consumo di batteria dei notebook applicando una serie di ottimizzazioni:

» Leggi: Linux / Ubuntu consuma troppa batteria! Come risolvere e migliorare l'autonomia con PowerTOP

Fonti e riferimenti

In questo articolo abbiamo visto come impostare la sospensione Suspend-to-RAM (S3) di Linux/Ubuntu. Ho iniziato a ricercare una soluzione a questo problema dopo aver notato che il mio Dell XPS 15 con Ubuntu consumava parecchia batteria, nonostante entrasse regolarmente in sospensione. La soluzione qui proposta, completamente efficace, è giunta da questi due articoli:

  • Dell XPS 15 7590 (archlinux)
  • Dell XPS13 9370 no longer suspends on lid close (askubuntu)