Battery drain su Macbook con Mojave? Ecco una soluzione

Anche voi avete notato un evidente aumento del battery drain sul vostro Macbook dopo l’aggiornamento a Mojave? Io si.

Nonostante io sia un felicissimo possessore di Macbook Pro 13″ del 2015, dopo l’aggiornamento a Mojave mi sono trovato a far pronte ad un problema inaspettato. Ormai è mia abitudine spegnere poco il mio Mac, ma semplicemente andare a chiuderlo, per fa si che questo vada in standby. Cosa però ho notato? Andando a riaprire il mio Macbook Pro, ho riscontrato un evidente consumo della batteria, come se questo non fosse andato in standby. Almeno non completamente. Al tempo stesso, mi sono accorto come, a livelli di batteria già bassi, questo eccessivo battery drain non fosse così elevato. Che cosa buffa…

Facciamo però un passo indietro, come funziona lo standby dei Macbook? Di default è attiva una modalità di standby ibrida, composta in parte da un periodo di sleep e successivamente da uno di ibernazione. Ovviamente per sleep si intende quando la RAM rimane alimentata e la cache risulta salvata su di essa. Per ibernazione si intende invece quando la cache viene spostata sulla ROM (in questo caso la memoria SSD), togliendo l’alimentazione alla RAM. In parole povere: dallo sleep si ha un risveglio molto più veloce, ma consuma più energia.

La modalità di standby ibrida dei Macbook prevede quindi un’impostazione di default che indica quanti secondi devono passare prima che lo sleep si tramiti in ibernazione. Come fate a scoprirlo, basta accedere all’applicazione terminale e digitare pmset -g .

battery drain

Le voci che dovete osservare sono standbydelayhigh e standbydelaylowdove viene indicato che sopra un certo livello di carica l’ibernazione inizierà dopo 86400 secondi (19 ore), mentre sotto un certo livello dopo 10800 (3 ore). Qual’è questo livello di carica? Lo si può capire da standby battery threshold, che è impostato su 50.

Bene, questo spiega due cose. La prima è il motivo del differente battery drain che riscontravo in base al livello di carica del mio Macbook Pro. La seconda è invece il motivo stesso di questo battery drain dopo l’aggiornamento a Mojave.

Nella precedente versione di MacOS non vi era distinzione tra high o low come livello di batteria. Il parametro era solo uno ed era standbydelay. Inoltre, l’impostazione di base era quella che ora si ritrova soavemente nel low, ovvero di 10800 secondi. Un tempo di attesa 8 volte superiore rispetto al passato prima di passare da sleep a ibernazione non è poco e mi basta come giustificazione dell’incremento dei consumi da me riscontrato. Per riscontro potete osservare uno screen del mio Macbook tempo prima dell’aggiornamento.

battery drain

Dobbiamo convivere con questo? Assolutamente no! Basta cambiare le impostazioni… e bisogna farlo da terminale.

Basterà digitare questa stringa di codice

  • sudo pmset -a standbydelay xxxx

dove al posto di xxxx bisogna mettere il numero di secondi che devono intercorrere dall’inizio della modalità sleep a quella di ibernazione. Ad esempio a me piace impostare 4200 secondi (70 minuti), che era l’impostazione di base dei primi Macbook Pro della serie retina. Seguiamo quindi quest’esempio.

Per prima cosa digito del terminale la stringa sudo pmset -a standbydelayhigh 4200 premete invio e digitate la vostra password del Macbook.

battery drain

Se digitare ancora pmset -g noterete che l’impostazione di standbydelayhigh è cambiata.

battery drain

Ripetiamo ora la stessa cosa imputando sudo pmset -a standbydelaylow 4200 per modificare la seconda voce.

battery drain

Noterete quindi che, imputando ancora pmset -g per verificare le impostazioni, ora tutti e due i parametri sono stati modificati.

battery drain

Ovviamente, se volete tornare alle impostazioni originali, non dovete ricordarvi a memoria i parametri iniziali. Basterà andare nelle Impostazioni, sotto la sezione Risparmio Energia, premendo poi Ripristina default.

battery drain

Pochi semplici passaggi che però risolveranno i vostri problemi di battery drain in standby sul vostro Macbook dopo l’update a Mojave.