Diferencia entre apagado automático y modo de espera en pmset

Acabo de recibir una nueva Retina MacBook Pro 15". Después de que se interrumpieran algunas descargas debido a que la computadora se iba a dormir (incluso con alimentación de CA), comencé a buscar el pmsetcomando en la página de manual. Resolví mi problema original con dormir pero algunas opciones despertaron mi interés. En particular, aquí está la descripción de la autopoweroffconfiguración de la página del manual:

apagado automático : cuando se admite, está habilitado de forma predeterminada como una implementación del Lote 6 de la Directiva europea de productos relacionados con la energía. Después de dormir durante minutos de autopoweroffdelay , el sistema escribirá una imagen de hibernación y entrará en un modo de suspensión de chipset de menor potencia. Los despertares de este estado llevarán más tiempo que los despertares del sueño normal. El sistema no se apagará automáticamente si hay algún dispositivo externo conectado, si el sistema está alimentado por batería o si el sistema está conectado a una red y la función de activación para acceder a la red está habilitada.

Y luego está el standbymodo:

standby hace que la administración de energía del kernel hiberne automáticamente una máquina después de que haya estado inactiva durante un período de tiempo específico. Esto ahorra energía mientras duerme. Esta configuración está predeterminada en ACTIVADO para el hardware compatible. La configuración en espera estará visible en pmset -g si la función es compatible con esta máquina.

el modo de espera solo funciona si la hibernación está activada en el modo de hibernación 3 o 25.

standbydelay especifica el retraso, en segundos, antes de escribir la imagen de hibernación en el disco y apagar la memoria para Standby.

Ahora tal vez solo estoy siendo torpe, pero parece que ambas opciones hacen esencialmente lo mismo. La principal diferencia que veo es que standbyrequiere un archivo hibernatemode.

Concretamente, la forma en que me gustaría configurar mi computadora es que haga una suspensión solo de RAM (exactamente como hibernatemode 0lo hace) cuando cierre la tapa por primera vez, para que se duerma rápidamente, sin escribir el contenido de la RAM en el disco inmediatamente. Sin embargo, si dejo la computadora en reposo con la tapa cerrada durante un cierto número de horas (digamos 4 horas), me gustaría que solo luego escriba el contenido de RAM en el disco y apague la computadora, para ahorrar batería en caso de un sueño prolongado. Idealmente, también me gustaría que la segunda parte (escribir RAM en el disco y apagar) suceda solo si la computadora está funcionando con batería.

El razonamiento aquí es que, para mí, el caso de uso común para dormir es llevar la computadora de casa al trabajo y de regreso, y no tiene sentido ralentizar el proceso de suspensión y desperdiciar ciclos de escritura SSD (así como ralentizar la reactivación). proceso de activación, si hiberna) si voy a activarlo nuevamente en menos de una hora; además, dado que el tiempo que pasa durmiendo es tan corto, no se ahorraría mucha batería apagando la computadora por un período tan corto.

¿Cómo debo configurar las opciones , , y hibernatemodepara autopowerofflograr autopoweroffdelayeste comportamiento?standbystandbydelay

Tengo una pregunta: en mi Macbook pro 2015 (12,1) pmset -g muestra: autopoweroffdelay 14400 Nunca lo cambié, por lo que es la configuración de fábrica. Pero "man pset" muestra: autopoweroffdelay: demora antes de ingresar al modo de apagado automático. (Valor = número entero, en minutos) Entonces, con la configuración de fábrica establecida en 14400, mi Mac no entrará en modo seguro antes de... ¡10 días! Curioso, ¿no?
Tengo curiosidad, ¿cómo solucionaste tu problema de interrupción de descarga?
"El caso de uso común para dormir es llevar la computadora de casa al trabajo y viceversa": si entiendo correctamente, la configuración predeterminada ya debería hacer esto. Solo ingresamos al modo de suspensión segura después del retraso en espera. Puedes comprobar por ti mismo que antes de esto no se modifica la imagen del sueño.

Respuestas (4)

La función de apagado automático también se menciona en http://support.apple.com/kb/HT1757 :

Con el lanzamiento de la actualización complementaria 2.0 de OS X Mountain Lion v10.8.2, se introdujo una nueva función para ingresar al modo de suspensión segura después de cuatro horas de que la computadora esté conectada a la alimentación de CA. Este es un esfuerzo por cumplir con los Estándares Energéticos Europeos (ErP Lot6). Esto solo ocurrirá si no hay actividad inalámbrica o Ethernet y no hay actividad de dispositivos externos como dispositivos de almacenamiento USB.

Este es un comportamiento normal para los siguientes modelos:

  • MacBook Pro (mediados de 2012 y posteriores)
  • MacBook Pro (Retina, mediados de 2012 y posteriores)
  • MacBook Air (mediados de 2012 y posteriores)
  • iMac (finales de 2012 y posteriores)
  • Mac mini (finales de 2012 y posteriores)

El modo de espera está documentado en http://support.apple.com/kb/ht4392 :

Mac que pueden usar el modo de espera:

  • MacBook Pro (Retina, 13 pulgadas, finales de 2012) y posteriores
  • MacBook Pro (Retina, 15 pulgadas, principios de 2013) y posteriores
  • MacBook Pro (Retina, mediados de 2012)
  • MacBook Air (mediados de 2010) y posteriores
  • Versiones de unidades SSD y Fusion de Mac mini (finales de 2012) y posteriores
  • Versiones de unidades SSD y Fusion de iMac (finales de 2012) y posteriores

Las computadoras Mac fabricadas en 2013 o posteriores entran en modo de espera después de tres horas de suspensión "normal". Las computadoras anteriores se activan después de poco más de una hora de sueño "normal".

Para entrar en suspensión, la computadora debe:

  • Estar funcionando con batería (si se trata de una computadora portátil Mac).
  • No tener dispositivos USB conectados.
  • No tener dispositivos Thunderbolt conectados.
  • No tiene tarjeta SD insertada.
  • No tiene pantalla externa conectada.
  • Una computadora con una batería completamente cargada puede permanecer en espera hasta treinta días sin estar conectada a una fuente de alimentación de CA.

El estado de la computadora se guarda en el almacenamiento flash (SSD), luego se apaga la alimentación de los subsistemas de hardware para aumentar la duración del modo de espera. Por ejemplo, la memoria RAM y el bus USB se apagan durante el modo de espera.

Por lo tanto, el modo de espera y el apagado automático son compatibles con diferentes modelos de Mac y están habilitados en diferentes condiciones. El modo de espera se introdujo en 2010 e inicialmente solo era compatible con MacBook Air, pero ahora es compatible con todas las Mac nuevas, excepto Mac Pro, iMac sin SSD y Mac mini sin SSD. El apagado automático se introdujo en 2012 y es compatible con todas las Mac nuevas, excepto las Mac Pro.

No sé si el estado de estar en modo de espera es diferente del estado de apagado automático. Se muestra una pantalla gris con una barra de progreso cuando una Mac se activa desde ambos estados.

Tenga en cuenta que Apple ha utilizado "suspensión segura" para referirse tanto al modo híbrido de suspensión como de hibernación que las computadoras portátiles usan de forma predeterminada (como en http://support.apple.com/kb/PH11096 ) y al estado de solo hibernación (como en la cita del primer bloque anterior).

Incluso si establece el modo de espera en 0 y desactiva el modo de espera y el apagado automático, no desperdiciará tanta energía. Las computadoras portátiles nuevas usan alrededor de 0,7-1 W de energía en modo de suspensión y alrededor de 0,2-0,3 W cuando están apagadas o en modo de hibernación.

Entonces, ¿parece que la principal diferencia es que autopoweroffse aplica a la alimentación de CA y standbya la batería? Supongo que standbyel modo es lo que realmente necesito entonces.
Cuando hable sobre el desperdicio de energía, multiplique sus números por la cantidad de computadoras portátiles en el planeta. Además, tal vez me estoy perdiendo algo, pero ¿por qué algo usaría energía "cuando está apagado"?

Traté de resumir todos los ajustes en una imagen.

Para OS X 10.9 (sería un poco diferente con un sistema operativo más nuevo)

Dormir en esperafuente

Diría que solo hay dos "modos": suspensión e hibernación

  • Dormir : los datos se mantendrán en la memoria.
  • Hibernación : (¿o en espera? ¿SafeSleep? ¿DeepSleep?) Los datos se mantendrán en el disco duro y requieren un consumo de energía significativamente menor.

Aquí hay resúmenes de mi comprensión..

  1. si [sleep == 0] , la computadora ya no dormirá ni hibernará.
    • Para portátiles, la configuración efectiva cambia automáticamente cada vez que se enchufa el cargador
      • Normalmente, sleeplos minutos son simplemente iguales a displaysleepminutos, que puede configurar en Preferencias del sistema> Ahorro de energía
      • Pero en la pestaña Adaptador de corriente, al marcar "Evitar que la computadora entre en suspensión automáticamente cuando la pantalla está apagada" se anularán los sleepminutos a 0
  2. si [standby == 1] y [hibernatemode == 3] , la computadora esperará otros [standbydelay] segundos antes de entrar realmente en hibernación.
  3. [autopoweroff] es solo una implementación adicional para cumplir con los requisitos reglamentarios y tiene el mismo impacto equivalente a 2)
  4. 2) o 3) tiene efecto si uno de ellos se alcanza al principio.
  5. si [standby == 1] y [hibernatemode == 25] , la computadora entrará en hibernación inmediatamente después de [suspensión] minutos.

Nota: en MacOS 10.13 autopoweroffdelayespecifica la demora, en seconds, antes de ingresar al autopoweroffmodo.

Alguien puede revisar y confirmar la interpretación?? Gracias

¡Esta imagen es increíble!
¡Gran imagen! Creo que el autopoweroffdelay también está en segundos (ver man pmset)
man pmset -> autopoweroffdelay - demora antes de ingresar al modo de apagado automático. (Valor = entero, en minutos)
Me pregunto si los segundos/minutos varían según el modelo. Mi página de manual dice "autopoweroffdelay especifica el retraso, en segundos, antes de ingresar al modo de apagado automático".
¡Gran gráfico! Pero no hay comentarios que lo confirmen explícitamente, y aún no es la respuesta más votada. Si se confirmara, esta respuesta merecería ser la mejor respuesta, ya que la combinación de infografía + explicación la convierte en la respuesta más eficientemente digerible.
Subarashi!!!!!
También se debe tener en cuenta que en post-haswell, la "suspensión" está configurada de forma predeterminada en 1 minuto, ya que en realidad no es "suspensión", sino solo un modo de CPU de bajo consumo: theregister.com/2013/07/15/… autopoweroff solo toma efecto cuando se conecta a CA. Creo que en Mojave se eliminó el apagado automático.
En realidad, creo que esta respuesta no es 100% correcta, ya que parece implicar que la hibernación y el modo de espera son lo mismo. Puede leer más discusión sobre esto en este hilo , pero el hallazgo es que para retina-mbps la situación se ve así: * Suspensión (esta es la suspensión normal donde la RAM se mantiene activa) * En espera si la batería o apagado automático si no está en la batería – Después de la demora, escribe el contenido de la ram, pone el ssd en un estado de menor consumo de energía, apaga el ssd. Esto sucede independientemente dehibernatemode
Es decir, parece que el valor de hibernatemodeimporta solo si standbyes 0 para aquellos dispositivos que admiten el modo de espera. Y eso también hibernar usa una ruta diferente que el modo de espera (¿diferentes estados de energía para el controlador ssd? No estoy muy seguro).

Esto de hibernar/dormir me ha vuelto loco. Y estoy de acuerdo en que Apple debería poner más energía en arreglar este comportamiento de pmset.

seré claro Me encanta el modo de hibernación y solía funcionar perfectamente en modelos y sistemas operativos más antiguos (simplemente ejecutar Sudo pmset hibernatemode 25 era suficiente). Ahora Apple rompió algo y esto simplemente no funciona desde Yosemite.

Tengo un Retina ahora y ahora más que nunca la opción de hibernación tiene mucho más sentido que el modo de suspensión. No entiendo por qué a las personas que tienen SSD les encanta dormir sobre hibernar, simplemente no entiendo que no entiendan que la diferencia de tiempo de activación entre hibernación y suspensión es de 1 segundo, pero ahorran toneladas de batería, que alguien me explique qué ven como la gran ventaja porque no lo entiendo. De todos modos, (si amas Hibernate tanto como a mí, continúa leyendo) quería que Hibernate funcionara. Me tomó semanas hacerlo funcionar y compartiré lo que hice con todos ustedes.


TIENE QUE reiniciar el SMC y luego la NVRAM / PRAM primero:

Restablezca el SMC ( http://support.apple.com/kb/ht3964 ):

  1. Apaga el ordenador.
  2. Enchufe el adaptador de corriente MagSafe a una fuente de alimentación, conectándolo a la Mac si aún no está conectado.
  3. En el teclado incorporado, presione las teclas Mayúsculas-Control-Opción (lado izquierdo) y el botón de encendido al mismo tiempo.
  4. Suelte todas las teclas y el botón de encendido al mismo tiempo.
  5. Presione el botón de encendido para encender la computadora.

Nota: El LED del adaptador de corriente MagSafe puede cambiar de estado o apagarse temporalmente cuando reinicia el SMC.

Restablecimiento de NVRAM/PRAM ( http://support.apple.com/kb/HT1379 ):

  1. Apaga tu Mac.
  2. Ubique las siguientes teclas en el teclado: Comando, Opción, P y R. Deberá mantener presionadas estas teclas simultáneamente en el paso 4.
  3. Enciende el ordenador.
  4. Mantenga presionadas las teclas Comando-Opción-PR antes de que aparezca la pantalla gris.
  5. Mantenga presionadas las teclas hasta que la computadora se reinicie y escuche el sonido de inicio por segunda vez.
  6. Suelta las llaves.

Ahora ejecuta estos:

C.A:

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

Batería:

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

Todos:

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

¡Todo listo! Configure la MacBook para que entre en reposo y cuando la despierte verá una barra de progreso antes de que la computadora termine. ¡Eso significa que la MacBook estaba hibernando! (nota: odio que hayan quitado la luz para dormir de la MacBook Pro, eso fue muy útil)

Esto funcionó para mí usando una macbook pro de finales de 2008 con El Capt.
¿No se reemplaza la hibernación por autopoweroffel sueño profundo? ¿O estás diciendo que es preferible?
Creo que la razón por la que a la gente no le gusta la hibernación (al menos con el apagado automático) es porque elimina las pestañas de Chrome, elimina el servidor Rails/Nodejs, elimina el proceso nativo de reacción, básicamente destruye la productividad como ingeniero que no tiene su portátil encendido durante la noche.
¿Alguna idea sobre qué comando deshabilitar la activación del trackpad/teclado?
@EricGoldberg: creo que está hablando de "reanudación del sistema al reiniciar", donde el sistema se inicia normalmente y vuelve a crear todas las ventanas. Hibernate es solo otra forma de dormir su Mac que usa mucha menos energía porque la RAM se guarda en el disco. Consulte la última sección del sitio de DeepSleep, incluido el video que muestra la diferencia. No estoy sugiriendo esta herramienta, aunque fue bastante conveniente en El Capitan 10.11 para seleccionar hibernación versus suspensión normal.
Puedo confirmar que esto todavía funciona correctamente incluso en MacOS Mojave (10.14.6) en mi Early2015-Retina MacbookPro, a partir de enero de 2020. Tener cualquier unidad externa conectada (en mi caso, una tarjeta SD conectada a mi A1502modelo de Macbook Pro ) desactiva la hibernación - esto me estaba haciendo tropezar.

Esta es una buena compilación y yuxtaposición de los dos modos de administración de energía: en espera frente a apagado automático, pero las conclusiones anteriores no son del todo correctas en mi humilde opinión.

Tengo una Macbook Pro de 15" de mediados de 2012 (sin SSD) y es compatible tanto con el modo de espera como con el apagado automático. Los artículos citados anteriormente no muestran que la MacBook Pro de mediados de 2012 admita el modo de espera; sin embargo, a continuación se muestra la salida de "pmset Comando -g cap" en mi 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

He tenido todo tipo de problemas de administración de energía desde Mountain Lion; La computadora hibernaría después de que se fuera a dormir, así que comencé a buscar el comando "pmset". Sin embargo, a veces parecía que la hibernación de "apagado automático" sería activada por el temporizador de "retraso de apagado automático", pero la hibernación de "espera" no sería activada por el temporizador de "retraso de espera". La administración de energía nunca ha funcionado correctamente desde Mountain Lion, incluso en Mavericks.

Acabo de mirar en el registro del comando pmset, y parece que mi MacBook Pro se despertó "Dark Wake" a las 11:02 p.m. "debido a EC.ACAttach/Maintenance" y luego nuevamente a las 3:32 "debido a Actividad EHC1/HID". El dispositivo AHC1/HID es mi teclado bluetooth Logitech o mi 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 

El MacBook Pro nunca ingresó al modo de "hibernación" porque mantuve el temporizador de "retardo de apagado automático" en su valor predeterminado de 14,400 segundos (4 horas) tanto para la energía de la batería como para la energía de CA. Configuré manualmente el "retraso en espera" en 28 800 segundos (8 horas) para la energía de la batería y en 100 800 segundos (28 horas) para la energía de CA. La única forma de saber con seguridad qué opción de "hibernación" se activa - "apagado automático" o "espera" - es configurar una en un intervalo de tiempo muy corto, como quizás 1 hora después de que la Mac entre en "reposo". Entonces uno puede ver qué modo de "hibernación" activó la Mac para "hibernar".

No hace falta decir que es inaceptable que Apple no pueda hacer que esto funcione correctamente durante varios años. Las funciones admitidas por el comando "pmset" deben limpiarse y las opciones admitidas deben estar disponibles en la GUI en Preferencias del sistema.