J'ai un Macbook Pro 17 pouces (5,2) de mi-2009, avec MacOS Mojave 10.14 installé. Je veux activer l'hibernation (ou le mode veille prolongée, ou le sommeil profond, ou le sommeil sûr) afin de mettre hors tension la RAM en mode veille.
J'ai essayé
sudo pmset -a hibernatemode 25
mais mon ordinateur se réveille instantanément du mode veille, ce qui signifie qu'il ne passe pas en hibernation sur le disque.
J'ai lu ici que les options autopoweroff
et standby
sont pertinentes, mais pmset -g
ne montre pas ces options pour mon ordinateur :
Réglages d'alimentation globaux :
Actuellement en cours d'utilisation :
womp 1
autorestart 0
halfdim 1
sms 1
hibernatefile /var/vm/sleepimage
gpuswitch 2
networkoversleep 0
disksleep 1
sleep 0
hibernatemode 25
ttyskeepawake 0
displaysleep 1
acwake 0
lidwake 0
man pmset
dit,
standby provoque la mise en veille automatique du noyau d'une machine après une période de temps spécifiée. Cela permet d'économiser de l'énergie en veille. Cette option est activée par défaut pour le matériel pris en charge. L'option standby sera visible dans pmset -g si la fonction est prise en charge sur cette machine.
et
autopoweroff est activé par défaut sur les plates-formes prises en charge en tant qu'implémentation de la Lot 6 de la Directive européenne sur les produits liés à l'énergie. Après une période de temps donnée en veille, le système écrira une image d'hibernation et entrera dans un sommeil de jeu de puces à consommation d'énergie plus faible. Les réveils de cet état prendront plus de temps que les réveils d'une veille régulière.
Il semble donc que le standby
ne soit pas pris en charge sur mon modèle, donc il devrait être sans importance. De plus, autopoweroff
s'applique uniquement lorsque l'AC est branché, mais je ne peux pas hiberner non plus sur batterie.
Pourquoi mon ordinateur portable ne peut-il pas hiberner ? Je suis sûr qu'il était en hibernation dans les versions précédentes de MacOS.
J'ai également réinitialisé mon SMC et NVRAM, mais le problème reste le même.
Sortie de pmset -g assertions
:
2018-09-25 22:17:33 -0700
État d'assertion à l'échelle du système :
Tâche en arrière-plan 0
Tâche de service ApplePush 0
L'utilisateur est actif 1
Empêcher la mise en veille de l'écran en mode inactif de l'utilisateur 0
Empêcher la mise en veille du système 0
Support externe 0
Empêcher la mise en veille du système en mode inactif de l'utilisateur 0
Client réseau actif 0
Listé par processus propriétaire :
pid 111(hidd): [0x0000030000098140] 00:00:00 L'utilisateur est actif nommé: "com.apple.iohideventsystem.queue.tickle.4294968067.3"
L'expiration se produira dans 120 secondes Action=TimeoutActionRelease
Aucune assertion du noyau.
Prévention de la mise en veille prolongée : IODisplayWrangler
ÉDIT 1:
J'ai un nouveau soupçon à ce sujet, c'est que j'ai mis à niveau la RAM sur cette machine de 2 barrettes de RAM de 2 Go à 2 barrettes de RAM de 4 Go, cependant, /var/vm/sleepimage
fait 4294967296 octets, donc ne peut pas contenir toutes les données de ma RAM. Ce que j'ai essayé à ce sujet :
1 ) supprimer /var/vm/sleepimage
, redémarrer, mettre en veille. Le système le recrée à la même taille.
2 ) exécuter mkfile 9G biggersleepimage
, le placer dans /var/vm/biggersleepimage
, exécuter chown root:wheel
et chmod +t biggersleepimage
, puis exécuter pmset hibernatefile /var/vm/biggersleepimage
. Dans ce cas, le fichier est redimensionné à 4294967296 octets après la dernière commande !
3 ) fouiller dans les journaux et lire man pmset
et faire des recherches sur internet.
J'avais mes anciennes barrettes de RAM qui traînaient, alors je les ai insérées pour voir si cela résoudrait le problème, mais il refuse toujours d'hiberner. (Je n'ai pas essayé de réinitialiser le NVRAM et le SMC avec l'ancienne RAM dedans cependant)
ÉDIT 2 (progrès ?):
J'ai déplacé l'image de veille sur mon disque secondaire et elle a été mise en hibernation ! mais ensuite elle n'a pas pu se réveiller. J'ai deux disques dans cet ordinateur : un SSD connecté là où se trouvait le lecteur DVD (c'est mon disque système) et un HDD où se trouvait le disque système d'origine. En utilisant mkfile 4G /Volumes/Data/sleepimage; pmset hibernatefile /Volumes/Data/sleepimage
puis en mettant en veille a réussi à faire hiberner mon ordinateur ! mais ensuite, en essayant de reprendre, il est resté bloqué sur un écran gris jusqu'à ce que je baisse les bras et l'éteigne puis le rallume - il a ensuite bouclé une fois et a redémarré à partir de zéro.
ÉDIT 3: Incroyable ! J'ai échangé les emplacements de mon SSD et de mon HDD et remis l'image d'hibernation sur le SSD et remis l'ancienne RAM en place et maintenant il hiberne et reprend avec succès ! je vais maintenant essayer avec la nouvelle RAM
ÉDIT 4: Avec 8 Go de RAM et 5 Go utilisés avant de dire à mon ordinateur de dormir, et ls -l /var/vm/sleepimage
montre toujours 4294967296 octets, je peux hiberner et reprendre avec succès ! Il semble que le problème était que mon lecteur système était dans le mauvais compartiment.