¿Por qué mi MacBook Pro no se duerme automáticamente?

16

Tengo mi MacBook configurada para ir a dormir después de 2 minutos con la batería (a través del panel de preferencias de Ahorro de energía). Sin embargo, cuando la dejo inactiva, solo apaga la pantalla, en realidad no duerme. Esto significa que si lo dejo y olvido cerrar la tapa, siempre termina con una batería agotada.

El sistema duerme correctamente si se activa manualmente ( - Suspender) o al cerrar la tapa. Lo probé sin dispositivos USB conectados y en una cuenta de usuario nueva, en caso de que un programa en segundo plano impidiera el sueño. No hay información relevante impresa en la consola en el momento en que el sistema debe dormir.

He realizado un restablecimiento de PRAM y SMC en vano, así como los permisos supersticiosos de verificación de disco habituales.

¿Hay algo más que deba probar antes de reinstalar OS X?

Este es un MacBookPro5,5sistema operativo 10.6.6 en ejecución.

Vale la pena señalar que sufrí este problema hace algún tiempo debido a un error en un demonio auxiliar para el producto Things , pero que este problema era ligeramente diferente e involucraba la visualización del sueño. Además, he verificado que el demonio auxiliar no se estaba ejecutando durante mis pruebas.

Información Adicional:

Comencé a trabajar con el documento de Apple titulado " Por qué su Mac podría no dormir o permanecer en modo de suspensión". Descubrí que este problema no aparece cuando inicio mi computadora de forma segura. Me diff'd las listas de procesos y descubrí que los siguientes programas sólo se ejecutan cuando se encuentra en arranque normal, por lo que son posibles culpables:

  • Quick Look Helper
  • cvmsComp_x86_64
  • kextcache
  • launchd
  • mdworker
  • mdworker
  • nmblookup
  • vmnet-bridge
  • vmnet-dhcpd
  • vmnet-dhcpd
  • vmnet-natd
  • vmnet-netifup
  • vmnet-netifup
Phil Calvin
fuente
Asegúrese de configurar Computer Sleep y no Display sleep. Foto aquí: imgur.com/yVGb4.png
Nathan Greenstein el
1
Por curiosidad, ¿puedes intentar configurar Display Sleep en algo después de Computer Sleep? Quizás encontremos un error. Otra cosa que viene a la mente: tal vez su protector de pantalla se esté activando y evitando que algo duerma (esto también sería un error). Intente cambiar la configuración hasta que se realice sin problemas, protector de pantalla, suspensión de pantalla, suspensión de computadora, con al menos un minuto entre cada una.
Nathan Greenstein
1
El panel de preferencias le impide configurar Display Sleep en después de Computer Sleep. Los probé como iguales y diferentes (pensando que el primero podría tener un error). También probé Screen Saver, Display Sleep y Computer Sleep con un minuto entre ellos, pero sin dados.
Phil Calvin
1
@ Martin Wickman: Puede que haya resuelto esto. Tenía menos del 5% de espacio libre en el volumen de mi sistema, que se estaba registrando en el registro del sistema (pero no de una manera que dejara en claro que había una relación). Liberar 50 GB resolvió el problema. ¿También tienes poco espacio libre?
Phil Calvin
1
Me acabo de enterar de pmset -g assertionsque muestra información sobre qué proceso (o algo) impide el sueño. Echale un vistazo.
Martin Wickman

Respuestas:

5

Para ayudar a depurar problemas para dormir, pruebe el pmsetcomando en la terminal:

$ pmset -g assertions

Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              1
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      0
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           0

Listed by owning process:
  pid 2520: [0x0000012c000009d8] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleHDAEngineOutput:1B,0,1,2:0'.noidlesleep" 

En este caso, es el proceso 2520 desordenar. Compruébelo en el monitor de actividad y elimínelo (/ usr / sbin / coreaudiod iniciado por iTunes).

Después de eso, ejecute el comando nuevamente:

Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              0
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      0
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           0

No hay marcas para PreventUserIdleSystemSleep.

Martin Wickman
fuente
Este es un uso fantástico pmsetque no conocía. Gracias por llamar mi atención sobre esto.
Phil Calvin el
¿Qué haces si el proceso no se está ejecutando y PreventUserIdleDisplaySleeptodavía está configurado en 1?
Abhi Beckert
4

He tenido este mismo problema con mi MacBook Pro 3,1. Es extremadamente frustrante. Llegué a reinstalar completamente OS X, lo que no resolvió el problema. Esto me lleva a creer que es probable que sea un problema de hardware en mi caso.

He dejado de solucionar el problema y solo uso PleaseSleep .

PleaseSleep es un software de utilidad diseñado para Mac OS X que ayuda a apagar su computadora cuando sabe que alguna otra aplicación impide que su Mac se vaya a dormir.

PleaseSleep se sienta en segundo plano y espera el temporizador de reposo que configuró en el panel de preferencias de Energy Saver. Dependiendo de las preferencias que establezca, PleaseSleep intentará apagar su computadora cuando se active el temporizador de suspensión programado. PleaseSleep es muy fácil de configurar, puede habilitar, deshabilitar y acceder a sus preferencias a través del icono de la barra de menú del sistema. Puede elegir que PleaseSleep active la función de suspensión todo el tiempo, o puede decirle a PleaseSleep que active la función de suspensión solo cuando ciertas aplicaciones se estén ejecutando.

Graham
fuente
¡Esto da miedo! Si no puedo encontrar una solución "verdadera", seguramente probaré este producto y aceptaré su respuesta. Sin embargo, soy terco y no estoy dispuesto a rendirme todavía. =)
Phil Calvin
No funciona el 10.8
sorin
3

Finalmente tengo mi sistema confiablemente inactivo de nuevo. Cambié tres cosas para llegar a este punto, todas las cuales creo que contribuyeron:

  • Tenía poco espacio en disco (menos del 5% libre) en mi volumen primario. El núcleo se quejaba de esto system.log(visible en Console.app) sobre el tiempo que debería haber estado durmiendo.

  • Inhabilité Dropbox, que accede al disco con frecuencia y de manera desagradable, y se informa que previene el sueño en Snow Leopard.

  • Me actualicé de un Chromium vergonzosamente viejo todas las noches, y ahora estoy en 11.0.658.0 (73560) . Hay varios errores abiertos sobre este Chrome / Chromium que evitan el sueño inactivo. Sin embargo, descubrí esto solo después de hacer que el sistema se pusiera en reposo después de reiniciar sin ejecutar programas.

Las observaciones técnicas siguen:

Vale la pena señalar que el panel de preferencias de Energy Saver se encuentra un poco. Lo configuré para que duerma y apague la pantalla después de 1 minuto, pero el sistema en realidad no se duerme durante 3 minutos y 30 segundos, da unos segundos para escribir la imagen de Sueño seguro. La pantalla en realidad tarda 2 minutos en irse a dormir. Sospecho que este es un caso de Apple que lo sabe mejor que nosotros: 1 minuto probablemente sea demasiado rápido. De todos modos, esto dificulta los problemas de depuración como este porque tiene que esperar más de lo indicado para ver si el sistema realmente va a dormir.

El hecho de que estas dos aplicaciones fueran contribuyentes a pesar de no hacer nada particularmente intenso sugiere que Snow Leopard cambió algo acerca de cómo el sistema decide si puede producirse una inactividad. Existe una API documentada para deshabilitar el reposo inactivo, pero también parece que la actividad del disco (específicamente escribe) más de una vez por minuto también restablece el temporizador de reposo y, por lo tanto, retrasa el reposo. Cualquier aplicación que escriba con frecuencia es una posible causa. sudo fs_usage -e grep -f filesys | grep -e writeen una ventana de Terminal puede ayudar a revelar a los culpables.

Phil Calvin
fuente
1
El uso del comando aquí probablemente debería ser: sudo fs_usage -e grep -f filesys | grep write Sin -e, solo vomitará las grep write. No es útil.
Dominic Hopton el
¡Interesante! No ocurrió ningún vómito cuando estaba probando esto en Snow Leopard, pero sí en Lion. Fijo.
Phil Calvin
Hay un hilo bastante largo en los foros de discusión de Apple que sugiere que Lion presenta algunos posibles nuevos problemas de suspensión relacionados con impresoras y recursos compartidos de red. Más cosas para probar si estás, como yo, al final del juicio.
Phil Calvin
0

Podría ser la indexación de Spotlight. Puede probar esto yendo a Preferencias del sistema> Spotlight> Resultados de búsqueda y desmarcando todo. Luego, vea si su MacBook se va a dormir.

conorgriffin
fuente
Inhabilité la indexación usando mdutil -a -i off, pero el problema persistió. Avíseme si eso no es funcionalmente equivalente a su sugerencia.
Phil Calvin
No sé si es funcionalmente igual. Pero es rápido de probar, ¿por qué no probarlo como se describe?
conorgriffin 02 de
¿Tienes Skype?
Martin Marconcini
@ martin-marconcini - ¿Me preguntas a @ Phil-Calvin o a mí?
conorgriffin 02 de