Différence entre la mise hors tension automatique et la veille dans pmset

27

Je viens de recevoir un nouveau Retina MacBook Pro 15 ". Après avoir interrompu certains téléchargements en raison de la mise en veille de l'ordinateur (même sur secteur), j'ai commencé à consulter la page de manuel de la pmsetcommande. J'ai résolu mon problème d'origine avec le sommeil, mais quelques options ont piqué mon intérêt. En particulier, voici la description du autopoweroffparamètre de la page de manuel:

autopoweroff - Lorsque cela est pris en charge, activé par défaut en tant que mise en œuvre du lot 6 de la directive européenne sur les produits liés à l'énergie. Après avoir dormi pendant des minutes de mise hors tension automatique , le système écrit une image d'hibernation et passe en veille de jeu de puces de puissance inférieure. Les réveils de cet état prendront plus de temps que les réveils d'un sommeil régulier. Le système ne s'éteindra pas automatiquement si des périphériques externes sont connectés, si le système est alimenté par batterie ou si le système est lié à un réseau et que le réveil pour l'accès au réseau est activé.

Et puis il y a le standbymode:

en mode veille, la gestion de l'alimentation du noyau met automatiquement en veille prolongée une machine après qu'elle ait dormi pendant une période de temps spécifiée. Cela permet d'économiser de l'énergie pendant le sommeil. Ce paramètre par défaut est ON pour le matériel pris en charge. La mise en veille sera visible dans pmset -g si la fonction est prise en charge sur cette machine.

le mode veille ne fonctionne que si l' hibernation est activée en mode hibernat 3 ou 25.

standbydelay spécifie le délai, en secondes, avant d'écrire l'image d'hibernation sur le disque et de mettre la mémoire hors tension pour la mise en veille.

Maintenant, je suis peut-être juste épaisse, mais les deux options semblent faire essentiellement la même chose. La principale différence que je vois est que cela standbynécessite un spécifique hibernatemode.

Concrètement, la façon dont je voudrais configurer mon ordinateur est de faire un sommeil uniquement RAM (exactement comme le hibernatemode 0fait) lors de la première fermeture du couvercle, afin qu'il se mette rapidement en veille, sans écrire le contenu de la RAM sur le disque immédiatement. Cependant, si je laisse l'ordinateur dormir avec le couvercle fermé pendant un certain nombre d'heures (disons 4 heures), je voudrais qu'il écrive ensuite le contenu de la RAM sur le disque et éteigne l'ordinateur, afin d'économiser la batterie en cas de sommeil prolongé. Idéalement, j'aimerais également que la deuxième partie (écriture de la RAM sur le disque et mise hors tension) ne se produise que si l'ordinateur fonctionne sur batterie.

Le raisonnement ici est que, pour moi, le cas d'utilisation courant pour le sommeil est de ramener l'ordinateur de la maison au travail et à l'arrière, et il n'y a aucun intérêt à ralentir le processus de sommeil et à gaspiller les cycles d'écriture SSD (ainsi que le ralentissement du réveil). processus de mise en veille, s'il hiberne) si je vais simplement le réveiller à nouveau en moins d'une heure; De plus, comme le temps passé à dormir est si court, peu de batterie serait économisée en éteignant l'ordinateur pendant une si courte période.

Comment dois - je configurer les hibernatemode, autopoweroff, autopoweroffdelay, standbyet des standbydelayoptions pour obtenir ce comportement?

porcine
la source
J'ai une question: sur mon Macbook pro 2015 (12,1) pmset -g affiche: autopoweroffdelay 14400 Je ne l'ai jamais changé, donc c'est le réglage d'usine. Mais "man pset" montre: autopoweroffdelay - délai avant d'entrer en mode autopoweroff. (Valeur = entier, en minutes) Donc, avec le réglage d'usine réglé sur 14400, mon mac ne se mettra pas en veille avant ... 10 jours! Curieux, non?
Je suis curieux, comment avez-vous résolu votre problème d'interruption de téléchargement?
Dickster le

Réponses:

13

La fonction de mise hors tension automatique est également mentionnée dans http://support.apple.com/kb/HT1757 :

Avec la sortie de la mise à jour supplémentaire OS X Mountain Lion v10.8.2 2.0, une nouvelle fonctionnalité a été introduite pour entrer en veille en toute sécurité après quatre heures de connexion de l'ordinateur à l'alimentation secteur. Il s'agit d'un effort pour se conformer aux normes énergétiques européennes (ErP Lot6). Cela se produit uniquement s'il n'y a pas d'activité sans fil ou Ethernet et aucune activité provenant d'appareils externes tels que des périphériques de stockage USB.

Il s'agit d'un comportement normal pour les modèles suivants:

  • MacBook Pro (mi-2012 et versions ultérieures)
  • MacBook Pro (Retina, mi-2012 et versions ultérieures)
  • MacBook Air (mi-2012 et versions ultérieures)
  • iMac (fin 2012 et versions ultérieures)
  • Mac mini (fin 2012 et versions ultérieures)

Le mode veille est documenté dans http://support.apple.com/kb/ht4392 :

Mac pouvant utiliser le mode veille:

  • MacBook Pro (Retina, 13 pouces, fin 2012) et versions ultérieures
  • MacBook Pro (Retina, 15 pouces, début 2013) et versions ultérieures
  • MacBook Pro (Retina, mi-2012)
  • MacBook Air (mi-2010) et versions ultérieures
  • Versions SSD et Fusion de Mac mini (fin 2012) et versions ultérieures
  • Versions SSD et Fusion de l'iMac (fin 2012) et versions ultérieures

Les ordinateurs Mac fabriqués en 2013 ou plus tard entrent en veille après trois heures de sommeil "normal". Les ordinateurs antérieurs s'activent après un peu plus d'une heure de sommeil «normal».

Pour entrer en veille, l'ordinateur doit:

  • Fonctionne sur batterie (s'il s'agit d'un ordinateur portable Mac).
  • Aucun périphérique USB n'est connecté.
  • Aucun périphérique Thunderbolt n'est connecté.
  • Aucune carte SD n'est insérée.
  • Aucun écran externe n'est connecté.
  • Un ordinateur avec une batterie complètement chargée peut rester en veille jusqu'à trente jours sans être branché à une source d'alimentation CA.

L'état de l'ordinateur est enregistré dans le stockage flash (SSD), puis l'alimentation des sous-systèmes matériels s'éteint pour augmenter la durée de la veille. Par exemple, la mémoire RAM et le bus USB sont hors tension pendant la veille.

Le mode veille et la mise hors tension automatique sont donc pris en charge par différents modèles de Mac et activés dans différentes conditions. Le mode veille a été introduit en 2010 et n'était initialement pris en charge que par MacBook Airs, mais il est désormais pris en charge par tous les nouveaux Mac, à l'exception des Mac Pros, des iMac sans SSD et des Mac mini sans SSD. autopoweroff a été introduit en 2012 et il est pris en charge par tous les nouveaux Mac, à l'exception des Mac Pros.

Je ne sais pas si l'état d'être en mode veille est différent de l'état de mise hors tension automatique. Un écran gris avec une barre de progression s'affiche lorsqu'un Mac se réveille des deux états.

Notez qu'Apple a utilisé le "sommeil sécurisé" pour faire référence à la fois au mode de veille hybride et d'hibernation que les ordinateurs portables utilisent par défaut (comme dans http://support.apple.com/kb/PH11096 ) et à l'état d'hibernation uniquement (comme dans la première citation de bloc ci-dessus).

Même si vous définissez le mode veille sur 0 et désactivez le mode veille et l'arrêt automatique, vous ne gaspillerez pas autant d'énergie. Les nouveaux ordinateurs portables consomment environ 0,7 à 1 W d'énergie en mode veille et environ 0,2 à 0,3 W lorsqu'ils sont éteints ou en mode hibernation.

Lri
la source
Il semble donc que la principale différence est celle qui autopoweroffest appliquée à l'alimentation secteur et standbyà l'alimentation par batterie? Je suppose que le standbymode est ce dont j'ai vraiment besoin.
swineone
Lorsque vous parlez de gaspillage d'énergie, multipliez vos chiffres par le nombre d'ordinateurs portables sur la planète. De plus, il me manque peut-être quelque chose, mais pourquoi est-ce que quelque chose utiliserait le pouvoir "lorsqu'il est éteint"?
eggyal
25

J'ai essayé de résumer tous les paramètres d'une image.

Pour OS X 10.9 (ce serait un peu différent avec un OS plus récent)

Veille en veillela source

Je dirais qu'il n'y a que deux "modes": sommeil et hibernation

  • Veille : les données seront conservées en mémoire.
  • Hibernation : (ou veille? SafeSleep? DeepSleep?) Les données seront conservées sur le disque dur et nécessitent une consommation d'énergie nettement inférieure.

Voici des résumés de ma compréhension ..

  1. si [sleep == 0] , l'ordinateur ne dormira plus ou n'hibernera plus.
  2. si [standby == 1] et [hibernatemode == 3] , l'ordinateur attendra encore [standbydelay] minutes avant de vraiment entrer en hibernation.
  3. [autopoweroff] est juste une mise en œuvre supplémentaire pour répondre aux exigences réglementaires et a le même impact équivalent à 2)
  4. soit 2) soit 3) prend effet si l'un d'eux est atteint au début.
  5. si [veille == 1] et [hibernatemode == 25] , l'ordinateur entrera en hibernation immédiatement après [sommeil] minutes.

Remarque: dans MacOS 10.13 autopoweroffdelayspécifie le délai seconds, avant, d'entrer dans le autopoweroffmode.

Quelqu'un peut-il réviser et confirmer l'interprétation ?? Merci

elgcom
la source
1
Cette image est incroyable!
Andrea Bergonzo
Grande image! Je crois que l'autopoweroffdelay est également en quelques secondes (voir man pmset)
Zyphrax
man pmset -> autopoweroffdelay - délai avant d'entrer en mode autopoweroff. (Valeur = entier, en minutes)
elgcom
1
Je me demande si la chose secondes / minutes varie selon le modèle. Ma page de manuel indique "autopoweroffdelay spécifie le délai, en secondes, avant de passer en mode autopoweroff".
Kelvin
Super graphique! Mais aucun commentaire ne le confirme explicitement, et pas encore la réponse la plus votée. Si elle était confirmée, cette réponse mériterait d'être la meilleure réponse, car la combinaison d'infographie + explication en fait la réponse la plus efficace à digérer.
porg
12

Ce truc d'hibernation / sommeil me rend fou. Et je suis d'accord qu'Apple devrait mettre plus d'énergie à corriger ce comportement pmset.

Je serai clair. J'adore le mode hibernation et il fonctionnait parfaitement dans les anciens modèles et systèmes d'exploitation (il suffit de lancer sudo pmset hibernatemode 25). Maintenant, Apple a cassé quelque chose et cela ne fonctionne plus depuis Yosemite.

J'ai une rétine maintenant et maintenant plus que jamais, l'option d'hibernation est beaucoup plus logique que le sommeil. Je ne comprends pas pourquoi les gens ayant des SSD aiment tellement dormir plus en veille prolongée, je ne comprends tout simplement pas qu'ils ne comprennent pas la différence de temps de réveil entre la veille prolongée et le sommeil est de 1 seconde mais ils économisent des tonnes de batterie, quelqu'un m'explique ce que ils voient comme le gros avantage parce que je ne comprends pas. Quoi qu'il en soit, (si vous aimez l'hibernation autant que moi, continuez à lire), je voulais que l'hibernation fonctionne. Il m'a fallu des semaines pour le faire fonctionner et je partagerai ce que j'ai fait avec vous tous.


Vous DEVEZ réinitialiser le SMC puis la NVRAM / PRAM en premier:

Réinitialisez le SMC ( http://support.apple.com/kb/ht3964 ):

  1. Éteindre l'ordinateur.
  2. Branchez l'adaptateur secteur MagSafe à une source d'alimentation, en le connectant au Mac s'il n'est pas déjà connecté.
  3. Sur le clavier intégré, appuyez sur les touches Shift-Control-Option (côté gauche) et sur le bouton d'alimentation en même temps.
  4. Relâchez toutes les touches et le bouton d'alimentation en même temps.
  5. Appuyez sur le bouton d'alimentation pour allumer l'ordinateur.

Remarque: le voyant de l'adaptateur secteur MagSafe peut changer d'état ou s'éteindre temporairement lorsque vous réinitialisez le SMC.

Réinitialisation de NVRAM / PRAM ( http://support.apple.com/kb/HT1379 ):

  1. Arrêtez votre Mac.
  2. Recherchez les touches suivantes sur le clavier: Commande, Option, P et R. Vous devrez maintenir ces touches enfoncées simultanément à l'étape 4.
  3. Allumer l'ordinateur.
  4. Appuyez et maintenez les touches Commande-Option-PR avant que l'écran gris n'apparaisse.
  5. Maintenez les touches enfoncées jusqu'à ce que l'ordinateur redémarre et que vous entendiez le son de démarrage pour la deuxième fois.
  6. Relâchez les touches.

Maintenant, exécutez-les:

AC:

sudo pmset -c sleep 0
sudo pmset -c standby 0
sudo pmset -c standbydelay 5
sudo pmset -c hibernatemode 25

Batterie:

sudo pmset -b sleep 120
sudo pmset -b standby 1
sudo pmset -b standbydelay 5
sudo pmset -b hibernatemode 25

Tout:

sudo pmset -a acwake 0
sudo pmset -a lidwake 0
sudo pmset -a ttyskeepawake 0
sudo pmset -a darkwakes 0

Terminé! Mettez le MacBook en veille et lorsque vous le réveillez, vous verrez une barre de progression avant que l'ordinateur ne soit terminé. Cela signifie que le MacBook hibernait! (note: je déteste qu'ils aient retiré la lumière de sommeil du MacBook Pro, c'était très utile)

pepeanto
la source
Cela a fonctionné pour moi en utilisant le macbook pro fin 2008 sous El Capt.
squarecandy
La mise en veille prolongée n'est-elle pas remplacée par le autopoweroffsommeil profond? Ou dites-vous que c'est préférable?
M. Boy
Je pense que la raison pour laquelle les gens n'aiment pas l'hiberate (au moins avec la mise hors tension automatique) est parce qu'il tue vos onglets Chrome, tue votre serveur rails / nodejs, tue votre processus natif de réaction, détruit fondamentalement votre productivité en tant qu'ingénieur qui n'a pas leur ordinateur portable allumé pendant la nuit.
Eric Goldberg
Une idée sur quelle commande pour désactiver le réveil du trackpad / clavier?
Rodrigo Polo
@EricGoldberg - Je pense que vous parlez de "reprise du système au redémarrage", où le système démarre normalement et recrée toutes les fenêtres. La mise en veille prolongée n'est qu'une autre façon de mettre votre Mac en veille, ce qui consomme beaucoup moins d'énergie car la RAM est enregistrée sur le disque. Voir la dernière section du site DeepSleep, y compris une vidéo montrant la différence. Je ne suggère pas cet outil, bien qu'il soit assez pratique sur El Capitan 10.11 pour sélectionner la mise en veille prolongée par rapport au sommeil normal.
RichVel
1

Il s'agit d'une bonne compilation et juxtaposition des deux modes de gestion de l'alimentation: veille vs mise hors tension automatique, mais les conclusions ci-dessus ne sont pas entièrement correctes à mon humble avis.

J'ai un Macbook Pro 15 "mi 2012 (non-SSD), et il prend en charge à la fois la veille et la mise hors tension automatique. Les articles cités ci-dessus ne montrent pas que le MacBook Pro mi 2012 prend en charge le mode veille; cependant, ci-dessous est la sortie du" pmset -g cap "sur mon MacBook Pro:

$ pmset -g cap
Capabilities for AC Power:
 displaysleep
 disksleep
 sleep
 womp
 acwake
 lidwake
 halfdim
 sms
 gpuswitch
 standby
 standbydelay
 ttyskeepawake
 hibernatemode
 hibernatefile
 autopoweroff
 autopoweroffdelay

J'ai eu toutes sortes de problèmes de gestion de l'alimentation depuis Mountain Lion; L'ordinateur hibernait après s'être mis en veille, alors j'ai commencé à regarder la commande "pmset". Parfois, il semblait cependant que la mise en veille prolongée "autopoweroff" serait déclenchée par la minuterie "autopoweroffdelay", mais la mise en veille prolongée "standby" ne serait pas déclenchée par la minuterie "standbydelay". La gestion de l'alimentation n'a jamais fonctionné correctement depuis Mountain Lion - même dans Mavericks.

Je viens de regarder dans le journal de la commande pmset, et il semble que mon MacBook Pro ait été réveillé "Dark Wake" à 23h02 "en raison de EC.ACAttach / Maintenance" puis à nouveau à 15h32 "en raison de Activité EHC1 / HID ". L'appareil AHC1 / HID est mon clavier Bluetooth Logitech ou mon Magic Trackpad.

pmset -g stats

4/17/14, 7:06:08 PM EDT  Sleep                  Clamshell Sleep: Using BATT (Charge:99%)                                              
4/17/14, 7:06:11 PM EDT  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                    3038 ms       
4/17/14, 7:06:34 PM EDT  Assertions             PID 33194(AddressBookSour) Released PreventUserIdleSystemSleep "Address Book Source Sync" 00:00:30  id:0x100000b31 [System: No Assertions]            
4/17/14, 7:06:34 PM EDT  Assertions             PID 172(UserEventAgent) Released BackgroundTask "com.apple.AddressBook.ScheduledSync" 00:00:30  id:0xc00000b32 [System: No Assertions]            
4/17/14, 7:06:36 PM EDT  Timedout               PMConnection: Response from CMacPowerHelper timed out (powercaps:0x0)                 27999 ms      
4/17/14, 7:06:36 PM EDT  WakeRequests           Clients requested wake events: None                                                   

4/18/14, 11:02:09 AM EDT                        Summary- [System: No Assertions] Using AC                                             
4/18/14, 11:02:14 AM EDT DarkWake               DarkWake [CDN] due to EC.ACAttach/Maintenance: Using AC (Charge:87%)        1 secs    
4/18/14, 11:02:14 AM EDT Timedout               Kernel: Response from Messages timed out (powercaps:0x9)                              30000 ms      
4/18/14, 11:02:14 AM EDT SlowResponse           Kernel: Response from powerd is slow (powercaps:0x0)                                  28003 ms      
4/18/14, 11:02:14 AM EDT Assertions             PID 16(powerd) Created InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:00  id:0xe00000b3f [System: PrevIdle SRPrevSleep kCPU]             
4/18/14, 11:02:15 AM EDT Wake                   DarkWake to FullWake [CDNVA] due to HID Activity: Using AC (Charge:87%)               
4/18/14, 11:02:17 AM EDT SlowResponse           PMConnection: Response from com.apple.notificationcenter.dnd is slow (powercaps:0x1f)             1536 ms       
4/18/14, 11:02:47 AM EDT Assertions             PID 33219(SubmitDiagInfo) Released PreventUserIdleSystemSleep "com.apple.SubmitDiagInfo.run" 00:00:36  id:0x100000b3e [System: PrevIdle BGTask SRPrevSleep kCPU]              
4/18/14, 11:02:59 AM EDT Assertions             PID 16(powerd) TimedOut InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:44  id:0xe00000b3f [System: PrevIdle BGTask SRPrevSleep kCPU]             
4/18/14, 11:02:59 AM EDT Assertions             PID 16(powerd) Released InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:44  id:0xe00000b3f [System: PrevIdle BGTask SRPrevSleep kCPU]             
4/18/14, 11:03:13 AM EDT Assertions             PID 33240(AddressBookSour) Released PreventUserIdleSystemSleep "Address Book Source Sync" 00:00:53  id:0x100000b5b [System: BGTask]           
4/18/14, 11:03:13 AM EDT Assertions             PID 172(UserEventAgent) Released BackgroundTask "com.apple.AddressBook.ScheduledSync" 00:00:53  id:0xc00000b5c [System: BGTask] 

4/19/14, 3:32:20 AM EDT  Wake                   Wake [CDNVA] due to EHC1/HID Activity: Using AC (Charge:99%)                7182 secs 

Le MacBook Pro n'est jamais entré en mode "mise en veille prolongée" car j'ai conservé le minuteur "autopoweroffdelay" à sa valeur par défaut de 14 400 secondes (4 heures) pour l'alimentation par batterie et l'alimentation secteur. J'ai réglé manuellement le «délai de veille» à 28 800 secondes (8 heures) pour l'alimentation par batterie et à 100 800 secondes (28 heures) pour l'alimentation secteur. La seule façon de savoir avec certitude quelle option "hibernation" entre en jeu - "mise hors tension automatique" ou "veille" - est de définir une à un intervalle de temps très court - comme peut-être 1 heure après que le Mac se soit mis en "veille". Ensuite, on peut voir quel mode "hibernation" a déclenché le Mac pour "hibernation".

Inutile de dire qu'il est inacceptable qu'Apple ne puisse pas faire fonctionner cela correctement depuis plusieurs années maintenant. Les fonctionnalités prises en charge par la commande "pmset" doivent être nettoyées et les options prises en charge doivent être disponibles dans l'interface graphique dans les Préférences Système.

user76158
la source