Absortio

Email → Summary → Bookmark → Email

Extracto

Update (01.08.2025): fixed broken link, typo, clarified problematic behaviour For a number of years now I have a MacBook Pro Silicon M1 Max. It worked beautifully. Then, seemingly out of nowhere, I started noticing that the battery drained over night when I left the notebook somewhere, not connected to power. This got worse and worse, up until the point that I’ve had enough of it and I started doing some research.

Resumen

Resumen Principal

Un usuario de un MacBook Pro Silicon M1 Max se enfrentó a un persistente y creciente problema de drenaje de batería durante la noche, incluso cuando el equipo no estaba conectado a la corriente. La frustración llevó a una investigación exhaustiva, comenzando con el comando pmset -g log en Terminal de macOS, que aunque proporciona registros de gestión de energía, resultó demasiado verboso y difícil de interpretar, incluso con una herramienta personalizada desarrollada para su análisis. Las tentativas iniciales de ajustar configuraciones como tcpkeepalive de forma individual tampoco produjeron resultados significativos. La solución definitiva emergió tras el descubrimiento de Sleep Aid, una aplicación que ofrece una visualización más clara de los eventos de activación y una interfaz intuitiva para modificar los ajustes. Se identificó que la opción "Wake for maintenance" estaba deshabilitada, lo que, según la propia herramienta, podía conducir a frecuentes eventos de activación. Esta desactivación estaba provocando un "wake-up frenzy" en el Mac, impidiendo que el sistema consolidara las tareas de mantenimiento en activaciones programadas y en lote cada hora. La habilitación de esta configuración crucial resolvió eficazmente el problema, restaurando el comportamiento normal de la batería del dispositivo.

Elementos Clave

  • Problema Crítico de Drenaje de Batería: El MacBook Pro Silicon M1 Max del usuario comenzó a exhibir un drenaje significativo de la batería durante la noche, sin estar conectado a la alimentación. Este inconveniente se fue agravando con el tiempo, impactando severamente la autonomía y la experiencia del usuario.
  • Dificultades en el Diagnóstico Inicial: Las primeras попытки de diagnóstico, incluyendo el uso del comando pmset -g log en Terminal, revelaron que los registros de gestión de energía eran extremadamente extensos y complejos de descifrar. Además, los ajustes manuales de configuraciones específicas, como tcpkeepalive, resultaron ineficaces para mitigar el problema.
  • Rol Fundamental de la Herramienta Sleep Aid: La aplicación Sleep Aid fue un punto de inflexión, ya que visualiza los eventos de activación del sistema de forma más accesible y proporciona una interfaz intuitiva para modificar ajustes de energía. Su capacidad para destacar configuraciones problemáticas fue clave para la resolución.
  • La Configuración "Wake for maintenance" como Causa Raíz: Se descubrió que la opción "Wake for maintenance" en Sleep Aid estaba deshabilitada. Esta configuración crítica, cuando inactiva, provocaba un ciclo de activaciones frecuentes e ineficientes (descrito como un "wake-up frenzy"), impidiendo que el Mac procesara las tareas de mantenimiento en intervalos programados y optimizados.

Análisis e Implicaciones

Este caso subraya la importancia de herramientas especializadas para diagnosticar y resolver problemas complejos de gestión de energía en sistemas operativos modernos, más allá de los comandos nativos

Contenido

Contents

Update (01.08.2025): fixed broken link, typo, clarified problematic behaviour

For a number of years now I have a MacBook Pro Silicon M1 Max. It worked beautifully.

Then, seemingly out of nowhere, I started noticing that the battery drained over night when I left the notebook somewhere, not connected to power. This got worse and worse, up until the point that I’ve had enough of it and I started doing some research.

On MacOS, the terminal command pmset -g log shows the logs related to power management. Those are quite verbose and not so easy to read, so I wrote a little tool to analyze the logs.

This was however only marginally useful. I tried tweaking the settings a little I read about (such as tcpkeepalive, one by one, but without much effect.

More digging led me to learn about Sleep Aid which displays wake events in a nicer way and also has a neat interface to change settings.

Sleep Aid settings dialog

In my case, the “Wake for maintenance” option was disabled, and Sleep Aid helpfully showed in the settings interface that this could lead to frequent wake up events. With the setting disabled, the Mac got into a kind of wake-up frenzy, instead of waking up and processing events in batch every hour. Enabling the setting again did the trick, and my MacBook Pro no longer loses all of its battery during the night when it isn’t plugged in.