Come Ibernare il Mac per sopravvivere alle mancanze di corrente e salvare batteria

di |

Guida al funzionamento del sistema di Stop e sonno profondo di macOS

Il Mac, fisso o portatile che sia, ha varie modalità di pausa: lo stand-by o modalità di attesa (che si attiva nel menu mela alla voce “Stop”) oppure una modalità di “sonno” più profondo, che si chiama “ibernazione”, in inglese Hibernation. In questo secondo modo il Mac salva lo stato della memoria su disco e toglie completamente corrente alla macchina, ma al riavvio successivo, dopo aver inserito la password, anziché ripartire da zero si ritorna allo stato precedente.

In più, c’è anche una modalità ibrida, che sostanzialmente passa dallo Stop alla Ibernazione a seconda del tipo di computer, versione del sistema operativo e tempo passato dall’entrata in Stop. Vediamo brevemente come funzionano queste tre modalità.

macOS safe sleep

Stop

Per mettere un Mac con macOS Sierra in Stop è sufficiente azionare la voce del menu, oppure premere una volta leggermente il pulsante di avvio oppure, per i computer portatili, chiudere il coperchio.

In questo modo il computer va in “sonno”. Se è un fisso, ha bisogno della corrente elettrica di rete per mantenere accesa la Ram e alcune componenti (come il Bluetooth o il WiFi e parte del processore). Il computer in Stop può infatti monitorare l’ambiente circostante, “sentire” se ci sono chiamate sulla rete senza fili o dalle periferiche Bluetooth (ad esempio: mouse, tastiera o trackpad) per risvegliarsi, oppure scaricare e installare aggiornamenti.

Per un Mac portatile questo cambia a seconda che il computer in Stop sia collegato alla rete elettrica o alimentato solo a batteria. Inoltre, se il computer portatile sta funzionando ma ha pochissima batteria, va da solo in stato di Stop quando arriva a 1–2% dell’autonomia stimata (ma può essere anche prima, se la batteria è vecchia e meno precisa).

Se va via la corrente a un computer fisso o la batteria finisce completamente a un computer portatile, si perde lo stato della memoria Ram e la macchina è come se venisse spenta all’improvviso. Quando si riavvia appare anche il messaggio di errore e comunque il sistema operativo cerca di fare controlli e verifiche (ad esempio nel file di swap) per recuperare quante più informazioni sullo stato precedente lo spegnimento.

macOS safe sleep come ibernare il mac

Ibernazione

Tutta un’altra cosa è l’ibernazione. La voce non è presente nel menu Mela e non si può direttamente richiamare questo stato. La differenza si vede al riavvio perché il Mac, anziché ripartire istantaneamente, ci mette alcuni secondi ricaricando lo stato della Ram dal disco (o Ssd). Dopo aver inserito le credenziali appare anche una schermata speciale, con la scrivania sfocata e una serie di rettangoli smussati in basso che vengono pian piano riempiti: questione di secondi (dipende da quanta Ram, quanto veloce e da che tipo di memoria di massa) anziché di decimi di secondo, ma è il sistema con cui si mostra l’avanzamento del recupero dei dati dal disco.

Prerequisito ovviamente è avere abbastanza spazio sul disco (almeno una volta e mezza la Ram fisicamente installata) e che il computer abbia avuto tempo di salvare lo stato della Ram sul disco o Ssd. Questo tipo di stato permette di conservare tutto anche senza corrente, ma ovviamente il Mac non si “risveglia” con un occhi solo per fare aggiornamenti o verifiche wireless o via cavo. Niente installazioni automatiche nottetempo e le periferiche Bluetooth non sono in grado di risvegliarlo. Anzi, occorre proprio premere il pulsante Accensione, a meno che non abbiate un nuovo MacBook Pro 2016, perché in quel caso basta aprire il coperchio del portatile.

Lo svantaggio è che il Mac dorme davvero. Il vantaggio è che non consuma la batteria. Infatti lo stato di Stop consuma un 5–10% di batteria al giorno, in media. Per i computer fissi invece il vantaggio è che si sopravvive a eventuali perdite di corrente notturne o in periodi di vacanza, se si lascia a lungo il Mac in Stop magari d’estate.

macOS safe sleep

Modalità ibrida

Perché non mescolare il meglio dei due mondi? macOS lo fa. In particolare, è in grado di passare da solo dalla modalità Stop a quella Ibernazione, a condizione che però siano rispettati alcuni prerequisiti.

Apple lo chiama “Safe Sleep” ed è una eredità di quanto “Stop” si chiamava “Sleep”. In pratica, quando il livello di batteria si abbassa notevolmente in un MacBook il sistema operativo salva su disco la memoria e va in ibernazione. Apple di default implementa questa modalità sui MacBook e non sui Mac da scrivania. La scelta non è balzana, se si considera che i tempi di avvio di un Mac recente con Ssd sono veramente minimi e le ultime tre versioni del sistema operativo di Apple supportano la riapertura di tutte le finestre e di tutti i documenti (anche quelli non salvati) della sessione precedente.

Questa scelta di andare in “Safe Sleep” non è limitata nei portatili al livello della batteria ma accade anche dopo un certo numero di ore di Stop, nei Mac più recenti con sistema operativo più recente.

Fattori che possono influenzare le modalità di “Sonno” leggero e pesante (per così dire) dei MacBook sono quelle relative alle scelte di configurazione che abbiamo fatto: nelle Preferenze di Sistema possiamo decidere di non mettere mai i dischi in stop, di avere una funzionalità di risveglio via Ethernet (via WiFi) e l’attività della funzione PowerNap (che permette installazioni di software tramite Mac App Store e aggiornamenti del sistema operativo) se attaccati alla presa di corrente o anche senza. Tutte queste funzioni impattano nelle scelte che il Mac fa per decidere se dormire un sonno leggero (“Stop”) o profondo (“Ibernazione”). C’è un modo per saperlo,

Verifica dei parametri

Sia da Terminale che dal “Resoconto di sistema” (Raggiungibile da “Informazioni su questo Mac” nel menu Mela) è possibile vedere come è configurato il Mac ed eventualmente cambiare alcuni parametri.

Se si va nella voce “Energia” delle “Informazioni di sistema” c’è da passare del tempo prima di capire cosa viene indicato: il numero di voci è elevato e le informazioni sono abbondanti. Dal Terminale è possibile avere indicazioni più veloci e puntuali, nonché modificare i parametri, e quindi vale sempre il solito disclaimer di fare cose solo se sapete cosa state facendo e che noi non ci assumiamo responsabilità, fornendo solo una indicazione generica.

In pratica, se su Terminale si digita:
pmset -g

si ha una rapida visione di tutti i parametri indicati precedentemente su “Informazioni di sistema”. Se guardate:

man pmset

avete una più ampia idea di cosa significhino le varie voci. Per chi vuole sapere subito se il proprio Mac ha la Ibernazione attiva, basta scrivere:

pmset -g | grep hibernatemode

e si ottiene una risposta a “hibernatemode” con tre possibili numeri:

hiternatemode=0 vuol dire che non è attivo (tipico dei Mac dekstop)

hibernatemode=3 vuol dire che è attivo (tipico dei MacBook) nella modalità “Safe Sleep”: dà energia alla Ram ma se va via la corrente usa la copia dei dati salvata su disco.

hibernatemode=25 è possibile configurarlo solo con un comando, cioè di default non è mai presente sui Mac, e vuol dire che si elimina lo “Stop” e si fa funzionare solo l’Ibernazione. Il sistema diventa più lento ad andare a dormire e a risvegliarsi (parliamo di una dozzina di secondi circa, in una macchina moderna) ma il rischio di perdita dati per i Mac desktop e di batterie che lentamente si scaricano nei MacBook scompare.

In conclusione

Apple non supporta nessun’altra modalità di ibernazione o sleep, quindi non provate nessun altro numero che non sia 0, 3 o 25. Apple non consiglia neanche di attivare l’ibernazione immediata. Ma se volete forzare il Mac all’utilizzo della modalità hibernatemode=25, dovete usare un comando complesso:

sudo pmset -a hibernatemode 25

Dove “sudo” permette di fare le modifiche e richiede la password di amministratore. Pmset cambia il valore di hibernatemode a 25 (e per tornare a quello precedente se avete un desktop si tratta di rimettere 0 oppure 3 per i MacBook) con argomento “-a” che indica che il valore si applica a tutto, sia la modalità a batteria che quella ad alimentazione di rete e UPS.

Se Apple però ha scelto determinati settaggi, che poi possono essere modificati in maniera ancora più “fine” regolando il ritardo con il quale si salva l’immagine della Ram su disco o altri parametri simili, ci sono validi motivi tra i quali le caratteristiche differenti dei vari tipi di hardware prodotti da Apple. Per ciascuna macchina e versione di sistema operativo infatti i parametri potrebbero cambiare, e anche sullo stesso tipo di computer cambiare ulteriormente se utilizza dischi Ssd di Apple, di terze parti, Hard Disk, sistemi Fusion, dischi in Raid e altro.

C’è ancora qualcosa da dire: chi si è occupato di studiare e spiegare il funzionamento dello Stop e Ibernazione del Mac suggerisce anche l’utilizzo di utility di terze parti che permettono di attivare l’Ibernazione “on demand” senza modificare i parametri del sistema operativo. Si tratta della app a pagamento ma con trial gratuito DeepSleep che può tornare utile se ad esempio si decide di “ibernare” il MacBook prima di un lungo viaggio oppure se si parte per le vacanze e si decide di ibernare l’iMac, il Mac mini o il Mac Pro di casa.