Sujet unique MacBook Pro qui se décharge en veille

Stéphanois57

Membre actif
30 Octobre 2015
123
1
Bonjour,

Voilà, ça fait plusieurs mois que mon MacBook Pro se décharge de manière significative lorsque je redescends l'écran, donc quand il est en veille.
Il se décharge jusqu'à n'avoir plus de batterie quand on ré-ouvre l'écran. Par exemple, en 5h de temps aujourd'hui, j'ai perdu 10% de batterie en veille. Généralement, au bout de 3 jours, je n'ai plus de batterie si je le laisse en veille. Alors qu'au début que je l'avais, je pouvais le laisser en veille quasiment 2 semaines...
Avez-vous déjà rencontré ce problème ?

Merci d'avance pour vos réponses.
 
Bon, vu le nombre de cycles de la batterie le problème est autre, fais un SMC et un NVRAM les liens sont dans ma signature. Le premier peut résoudre un problème de mauvaise charge.
 
Voilà, je viens de faire ces 2 manipulations.
Il faut que je fasse quelque chose d'autre ? Ou alors voir le comportement de la batterie entre ce soir et demain, et te tenir au courant d'ici demain matin ?
 
Je rebondis sur le problème qui m'affecte également sur un MBPr 15' 2016. Avec mes anciennes machines Apple, je pouvais laisser le mac en veille pendant plusieurs jours voire semaines sans que la batterie ne se vide anormalement alors que depuis que j'ai mon MBP 2016 il perds parfois pal mal ne serait-ce que pendant une nuit. (5-10%). J'en déduis que certains process fonctionnent même en veille (alors que powernap est désactivé sur batterie) et qu'une optimisation logicielle viendra peut-être un jour résoudre cela.
 
Bonjour,

Oui exactement, et personnellement, le problème vient depuis El Capitan (il me semble). Je suis sur Siera actuellement, et c'est toujours pareil. Je ne sais pas s'il y a un rapport, mais le fait est, que sur les versions antérieures la batterie tenait parfaitement la veille...
 
Dernière édition:
Généralement, au bout de 3 jours, je n'ai plus de batterie si je le laisse en veille.
Une mise en veille est vraiment utile que si on est nomade et que l'on n'a pas d'autre choix, mais dès l'instant ou on peut connecter le chargeur on le fait, la batterie en sera reconnaissante dans le temps.
Il faut que je fasse quelque chose d'autre ? Ou alors voir le comportement de la batterie entre ce soir et demain, et te tenir au courant d'ici demain matin ?
Il n'y a rien à faire, tout juste vérifier sur plusieurs jours si le problème persiste.

Il faut aussi savoir que la mise en veille avec un processeur i5 ou i7 est différente et plus énergivore avec le dernier. De même que plus il y a de mémoire, plus la batterie sera sollicitée pour conserver les données. Eh oui, le mode mise en veille met en sommeil tout ce qui n'a pas été quitté pour le restituer le plus rapidement possible et c'est bien son but, mais au détriment d'une décharge plus ou moins sévère.
 
Bonjour Stéphanois & Zorglub (qui s'est immiscé dans le fil pour un problème similaire)

Allez à : Applications > Utilitaires > pour lancer le «Terminal». Dans la fenêtre qui s'est ouverte, saisissez la commande :
Bloc de code:
pmset -g custom
et ↩︎ (presser la touche "Entrée" du clavier pour exécuter la commande)

  • cette commande appelle l'utilitaire pmset (power_management_settings : paramétrage de la gestion d'énergie) > avec l'option -g (getting : obtention) > et l'argument custom (personnalisation relative à toutes les sources d'alimentation - et pas seulement à la source actuellement en fonction).

  • elle retourne le tableau des paramètres du fichier : /Library/Preferences/SystemConfiguration/com.apple. PowerManagement.plist (où s'écrivent les préférences de la gestion d'alimentation).

  • pour des Macs portables (ce qui est le cas ici) > il s'agit de 2 tableaux en superposition : paramètres relatifs à l'alimentation sur batterie > paramètres relatifs à l'alimentation sur secteur.

=> Vous n'avez qu'à poster ici ce tableau double en copier-coller en faisant attention, avant le coller, à bien presser le bouton (4è avant la fin à droite) dans la barre de menus au-dessus du champ de saisie d'un message > menu : </> Code > par ⌘V coller dans la fenêtre Code > presser le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité).

=> il sera instructif de vérifier les paramètres affectant la mise-à-veille de chacun des 2 MacBook Pro.

Je conjecture un maintien de l'alimentation de la RAM pendant un temps de sommeil du Système qui soit assez long - ce, lorsque les Mac sont sur batterie. Il serait alors intéressant d'envisager, pour ce seul mode d'alimentation (sur batterie) une gestion du sommeil du Système (sleep : sommeil du kernel) qui implique la désactivation de la RAM > après écriture de ses contenus à un fichier sleepimage du disque. Également envisageable : le glissement à une hibernation du kernel après un délai de sommeil-Système pas trop prolongé.

[Toutes ces variations expérimentales s'effectuent via une commande dans la fenêtre du «Terminal» > et sont aussi aisément réversibles qu'effectuables.]
 
Merci @macomaniac et voici le résultat de la commande pré-citée :

Bloc de code:
Battery Power:
lidwake              1
autopoweroff         1
autopoweroffdelay    28800
standbydelay         10800
standby              1
ttyskeepawake        1
hibernatemode        3
powernap             0
gpuswitch            2
hibernatefile        /var/vm/sleepimage
displaysleep         15
sleep                15
tcpkeepalive         1
halfdim              1
acwake               0
lessbright           1
disksleep            10
AC Power:
lidwake              1
autopoweroff         1
autopoweroffdelay    28800
standbydelay         10800
standby              1
ttyskeepawake        1
hibernatemode        3
powernap             1
gpuswitch            2
hibernatefile        /var/vm/sleepimage
displaysleep         60
womp                 1
networkoversleep     0
sleep                0
tcpkeepalive         1
halfdim              1
acwake               0
disksleep            10

Voilà en espérant que tu trouveras des petites pépites en sachant que mon système est tout frais puisque j'ai fait une clean install à la sortie de 10.12.6.
 
Je n'examine en premier que les paramètres pour l'alimentation sur batterie - puisque c'est dans ce cas de figure qu'il y a problème (utilisation nomade).

Le displaysleep = sommeil de l'écran --> le délai est actuellement de 15' d'inactivité en session - soit le même délai que pour le sleep (sommeil du Système ou kernel). Il vaut mieux que le displaysleep intervienne avant le sommeil du Système.

D'ailleurs le disksleep (sommeil du disque) étant calé sur un délai de 10' d'inactivité en session > intervient avant le sommeil de l'écran (15') ce qui n'est pas cohérent.

Donc on peut déjà prévoir un sommeil de l'écran après 7' > idem pour le disque > et un passage au sommeil après 10' (d'inactivité en session).

L'hibernatemode (mode de mise en sommeil) est sur 3 --> lors de la mise en sommeil (= sleep ou sommeil-Système) > une copie des contenus de la RAM est écrite à la sleepimage du disque > ce qui n'empêche pas la RAM d'être maintenue sous tension pendant le sommeil > le réveil s'effectuant d'après le contexte de la RAM.

Pour limiter expérimentalement cette dépense d'énergie (RAM maintenue sous tension pendant le sommeil-Système) > on peut envisager l'hibernatemode 25 qui écrit les contenus de la RAM à la sleepimage > mais désactive la RAM lors du passage au sommeil-Système --> ce qui fait que le Mac va se réveiller après recopie du contexte de la RAM depuis la sleepimage (réveil plus lent, mais consommation moindre).

Enfin > il convient d'envisager le virage du sommeil-Système (sleep) à un état de sommeil plus prononcé après un certain délai. Il y a 2 modes : l'autopoweroff (sommeil profond automatique du kernel) dont le délai est fixé chez toi à 28800 secondes = 480 minutes = 8 heures ; et le standby (hibernation radicale du kernel) dont le délai est fixé chez toi à 10800 secondes = 180 minutes = 3 heures.

C'est paradoxal > dans la mesure où l'autopoweroff représente un sommeil profond moins radical que l'hibernation : il devrait donc intervenir avant cette dernière. Mais ce qui est envisageable (toujours en mode expérimental d'économie d'énergie) > c'est de désactiver l'autopoweroff > pour fixer le délai de standby (= hibernation du kernel) à une valeur assez courte --> par exemple 45' de durée de sommeil-Système (sleep).

Si tout ce bazar te va (tout est réversible ou modifiable bien sûr) > tu n'as qu'à saisir en copier-coller la commande :
Bloc de code:
sudo pmset -b displaysleep 7 disksleep 7 sleep 10 hibernatemode 25 autopoweroff 0 standby 2700
et ↩︎ --> une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin à l'aveugle - aucun caractère ne se montrant à la frappe - et ↩︎ de nouveau.

=> tu vas bien voir si cette modification de paramètres affecte la durée de charge de la batterie en conditions nomades. Mais aussi si les choix assez radicaux effectués ne s'avèrent pas incommodes à l'usage - du moins pour certains d'entre eux.

----------

Pour ce qui est du paramétrage en cas d'alimentation par le secteur > il est possible de ne rien toucher.

Ou carrément de désactiver le standby et l'autopoweroff. De virer l'hibernatemode à 0 (RAM sous tension mais pas d'écriture à une sleepimage). De ramener le délai de sommeil de l'écran de 60' à 10' (comme le sommeil du disque laissé tel quel) > de remettre un délai de sommeil-Système (qui est désactivé) sur 15'. Ton Mac se réveillera directement sur la RAM.

Si ça t'agréait > la commande serait :
Bloc de code:
sudo pmset -c displaysleep 10 sleep 15 hibernatemode 0 standby 0 autopoweroff 0

=> là aussi voir si ces choix sont commodes à l'usage (la question de l'alimentation ne se posant pas sur le secteur).
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Zorglub38
Bonjour,

Désolé pour le retard. Donc j'ai laissé le MacBook Pro en veille depuis samedi soir, jusqu'à aujourd'hui 17h. Résultat : 75% samedi, 15% ce soir...

Voici les données demandées :

Bloc de code:
Battery Power:
lidwake              1
autopoweroff         1
autopoweroffdelay    14400
standbydelay         4200
standby              0
ttyskeepawake        1
hibernatemode        3
hibernatefile        /var/vm/sleepimage
displaysleep         3
sleep                10
acwake               0
halfdim              1
sms                  1
lessbright           1
disksleep            10
AC Power:
lidwake              1
autopoweroff         1
autopoweroffdelay    14400
standbydelay         4200
standby              0
ttyskeepawake        1
hibernatemode        3
hibernatefile        /var/vm/sleepimage
womp                 1
displaysleep         10
networkoversleep     0
sleep                10
acwake               0
halfdim              1
sms                  1
disksleep            10

Je reste à votre écoute !
 
Tes paramétrages sont très sobres.

Concernant l'alimentation "sur batterie" (le cas de figure qui t'importe) :

  • le sommeil de l'écran (displaysleep) est réglé sur 3' de délai d'inactivité en session > le sommeil du disque (disksleep) et le sommeil du Système (sleep) sur 10' chacun. Tu pourrais toujours réduire ces dernières valeurs à 8' mais c'est un peu chipoter.

  • le mode d'hibernation (hibernatemode) est sur 3 = lors du passage au sommeil > écriture des contenus de la RAM à un fichier sleepimage du disque > mais maintien de la RAM activée pendant tout le temps du sommeil --> le réveil s'effectue sur le contexte de la RAM. Je conseille expérimentalement l'hibernatemode 25 : écriture à la sleepimage > mais désactivation de la RAM pendant le sommeil --> réveil après transfert en RAM des données de la sleepimage (plus lent, mais consommation plus faible pendant le sommeil)

  • le sommeil profond (autopoweroff) est activé > avec un délai de 14400 secondes après le commencement du sommeil (sleep) = 240' = 4 heures ; par contre, l'hibernation (standby) est désactivée. Je propose expérimentalement de désactiver l'autopoweroff pour activer le standby > avec un délai assez court de 2700' = 45'.

Pour cela > tu fais un copier-coller de la commande :
Bloc de code:
sudo pmset -b disksleep 8 sleep 8 hibernatemode 25 autopoweroff 0 standby 1 standbydelay 2700

et ↩︎ --> une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin à l'aveugle - aucun caractère ne se montrant à la frappe - et ↩︎ de nouveau.

=> tu n'as qu'à re-démarrer une fois pour prise en charge des nouveaux paramètres et tester pour voir si tu as une amélioration du maintien en charge en mode "sur batterie". Et s'il n'y a pas d'incommodité de certains paramétrages.

[Dans le cas de figure : "sur secteur" > pas grand chose à dire. De toute façon > ça ne doit pas te préoccuper > puisque le Mac serait alimenté en continu.]
 
Bonjour,

J'ai tenté la ligne de commande, mais j'ai bien peur que ça n'a fait qu'empirer la situation...
En effet, hier j'ai débranché le mac vers 22h, donc à 100% de batterie. Ce matin, vers 7h, je l'ai ré-ouvert, et il éteint, je ne sais pas pourquoi. De plus, en l'allumant, la batterie n'était plus qu'à 2%...
Pourriez-vous me donner la ligne de commande pour remettre les paramètres comme ils étaient à l'origine ?

Merci, et bonne journée.
 
Alors voici :
Bloc de code:
sudo pmset -b disksleep 10 sleep 10 hibernatemode 3 autopoweroff 1 standby 0

  • cette commande restaure exactement les paramètres modifiés à leur état antérieur (d'après le tableau que tu avais posté au message #13) - ce concernant l'alimentation par batterie, la seule qui avait été affectée.

=> tu re-démarres une fois pour que les paramètres restaurés soit pris en compte.

Mais j'ai déjà une remarque à faire : ce vidage de la batterie de ton Mac en une seule nuit est totalement anormal vu les paramètres que je t'avais donnés --> le Mac à l'état de standby (hibernation radicale) pendant la plus grande partie de la nuit n'aurait dû consommer que zéro. Je te conseille le SAV.
 
Dernière édition par un modérateur:
D'accord merci, je vais rentrer cette commande.

Oui, c'est bizarre... Là depuis le message posté toute à l'heure, je suis passé de 100% et à 92%... Je pense que je vais m'orienter vers le SAV du coup...
 
Mais j'ai remarqué quelque chose, je ne sais pas si c'est normal ou pas. Quand je rabats l'écran, la petite led blanche reste allumée environ 30 secondes, et puis se mets à "clignoter" normalement. Je n'avais jamais vu avant qu'elle restait allumée pendant environ 30 secondes. Est-ce un comportement normal, ou ça peut faire parti de mon problème ?
 
La commande que je t'avais passée précédemment, concernant la batterie :
Bloc de code:
sudo pmset -b disksleep 8 sleep 8 hibernatemode 25 autopoweroff 0 standby 1 standbydelay 2700
dictait le comportement suivant -->

  • sommeil du disque et du Système (kernel) au bout de 8' d'inactivité en session > pas de RAM maintenue sous tension pendant le sommeil-Système (mais désactivation après sauvegarde à une sleepimage du disque) > passage à l'état de standby (ou hibernation radicale) après 45' de sommeil-Système.

Donc ton Mac hier soir a viré au sommeil après 8' sans batterie sous tension et à l'hibernation totale après 45' > par conséquent il a hiberné toute la nuit. Et tu dis qu'il a perdu 98 % de la batterie > dans un état censé ne consommer rien.

=> il est manifeste qu'il y a un dysfonctionnement.