5 pontos por GN⁺ 2025-08-01 | 2 comentários | Compartilhar no WhatsApp
  • No modelo MacBook Pro Silicon M1 Max, experimentei consumo de bateria durante a noite
  • Tentei analisar diretamente o log de gerenciamento de energia, mas havia limite para identificar a causa do problema
  • Foi possível conferir visualmente os eventos de wake usando o app dedicado Sleep Aid
  • No ajuste do Sleep Aid, descobri que a desativação de "Wake for maintenance (despertar para manutenção)" era a causa
  • Após reativar essa opção, o problema de consumo de bateria durante a noite foi resolvido

Experiência com consumo de bateria durante a noite no MacBook Pro

  • Tenho utilizado o MacBook Pro Silicon M1 Max por anos
  • Recentemente, ao deixar o notebook sem conectar à tomada, surgiu uma situação de grande consumo de bateria durante a noite
  • Como esse sintoma foi piorando, iniciei a análise direta da causa

Tentativa de análise do log de gerenciamento de energia

  • No macOS, é possível verificar o log relacionado à energia com o comando de terminal pmset -g log
  • A saída desse log é extensa e de difícil interpretação, então usei uma ferramenta simples chamada pmset-analyzer que desenvolvi diretamente para análise
  • No entanto, essa ferramenta não ajudou muito a chegar a uma solução prática

Ajustes de configuração detalhados e investigação adicional

  • Ajustei gradualmente as configurações de gerenciamento de energia, como tcpkeepalive, conforme indicado em documentação oficial e comunidades
  • Alterar apenas essas configurações não trouxe grande efeito para a solução do problema

Solução do problema com o aplicativo Sleep Aid

  • No processo de investigação adicional, descobri o app Sleep Aid
    • Esse app exibe visualmente os wake events e oferece uma interface para alterar de forma intuitiva várias configurações de gerenciamento de energia
  • Ao conferir no Sleep Aid, verifiquei que a opção "Wake for maintenance (acordar para manutenção)" estava desativada
  • Conforme a descrição do app, com essa configuração desligada podem ocorrer wake events frequentes
  • Reativei essa opção e, desde então, não ocorreu mais consumo de bateria durante a noite

2 comentários

 
ahwjdekf 2025-08-02

Eu deixo o MacBook em modo de repouso e vou dormir, mas de madrugada a tela acende do nada e o quarto inteiro fica iluminado. Já acordei com isso e muitas vezes acabei desligando completamente. Isso já é motivo de discussão há tanto tempo, e até hoje...

 
GN⁺ 2025-08-01
Opiniões no Hacker News
  • Mais uma dica útil. Se você abrir a aba Energy no Activity Monitor e ordenar pela coluna "Preventing Sleep", dá para ver quais apps estão impedindo o macOS de dormir. No meu caso, descobri que o culpado era o Devonthink. Ainda não enviei um bug report. Acho estranho que os recursos de gerenciamento de energia da Apple não avisem o usuário sobre esse tipo de problema. Fico me perguntando se não é algo importante quando o Mac esquenta dentro da mochila e a bateria vai embora. Enquanto isso, o Chrome ficar perguntando se pode permitir descoberta de dispositivos na rede parece bem menos importante
    • Já é surpreendente que o gerenciamento de energia da Apple não alerte sobre isso, mas é ainda mais surpreendente que algum app possa impedir o sistema de dormir mesmo depois de fechar a tampa. Entendo que às vezes faz sentido impedir o repouso por timeout, como em players de vídeo. Mas há pouquíssimos casos realmente úteis em que um app deveria poder decidir que o sistema não vai dormir quando a tampa é fechada ou quando o botão de repouso é pressionado. Na maioria das vezes, isso só aumenta a chance de você acabar com um notebook superaquecido dentro da mochila. Pior ainda, até uma única página da web pode impedir o sistema de entrar em repouso, então fica difícil descobrir qual das 70 abas é o problema. Seria bom separar a permissão de impedir o repouso por timeout da permissão de alterar comportamentos centrais como "fechar a tampa sempre coloca em repouso". O uso por timeout pode até ser permitido, mas algo como o fechamento da tampa deveria sempre informar o usuário e exigir autorização
    • Eu não fazia ideia de que qualquer app podia impedir o repouso do sistema inteiro. Esse tipo de permissão deveria claramente ficar sob controle do usuário. Fico pensando se não deveria haver pelo menos um entitlement para que desenvolvedores possam chamar essa API
    • No shell, você pode usar o comando pmset -g assertions para ver quais processos estão impedindo o sistema de dormir e obter detalhes sobre as power assertions pendentes. O pmset também tem comandos que não aparecem na documentação oficial, mas dá para descobri-los olhando o código-fonte que a Apple publicou. Também existe um comando para fazer o sistema ignorar uma assertion específica. Só que, se você desativar a assertion "UserIsActive", talvez tenha dificuldade para acordar o sistema depois
    • Eu não sabia que isso existia, obrigado. Faz pouco tempo eu estava tentando entender por que a bateria de um MacBook que eu nem estava usando continuava caindo, e descobri que o Firefox estava impedindo o repouso. Acho que era por causa de vídeo com autoplay. Não é perfeito, mas pelo menos é um problema corrigível
    • Enquanto isso, o Safari mostra um aviso dizendo para fechar o navegador porque ele está consumindo muita energia enquanto você assiste Netflix
  • Tive algo parecido no meu MacBook Pro também. Não era um modelo Apple Silicon, e sim um anterior. Na época, eu tinha mudado no roteador o tempo de lease do DHCP para 15 minutos, bem abaixo do padrão. Minha impressão é que o MacBook acordava a cada 15 minutos para renovar o IP, dormia por pouco tempo e logo acordava de novo. Quando voltei o tempo de lease do roteador para o valor padrão anterior, o problema de consumo de bateria desapareceu completamente. Era difícil prever essa causa, mas como eu tinha acabado de comprar um MacBook Pro novo, eu estava mais atento a todo tipo de problema e consegui achar isso rápido
    • Um cliente DHCP bem implementado faz a renovação quando 50% do lease já passou. Ou seja, ele provavelmente estava acordando com ainda mais frequência do que você imagina
    • Fiquei curioso para saber por que você mudou o tempo de lease do DHCP para 15 minutos. Qual era o objetivo?
    • Acabei de descobrir isso também, mas o roteador mikrotik que eu uso vem por padrão com lease de 10 minutos
    • Isso é fascinante. Fico curioso para saber quantos mAh são consumidos cada vez que ele acorda só para renovar o IP. Imagino algo na faixa de poucos miliampères-milissegundo, já que no fim das contas o notebook só liga o Wi‑Fi por um instante e troca alguns pacotes. Claro, como era um modelo anterior ao Apple Silicon, talvez ele fizesse mais coisas enquanto estava acordado
    • Acho que isso é um bug do macOS. Durante o repouso, ele não precisa de IP, então acordar só para renovar o lease DHCP parece anormal. Sistemas operacionais sem código-fonte aberto têm esse tipo de problema
  • Se a opção “Wake for maintenance” estiver desativada, o Sleep Aid mostra na janela de configurações que isso pode causar despertares frequentes. Fico pensando se o autor não quis dizer por engano que “a opção estava desativada”
    • Pensei a mesma coisa. É só um palpite, mas talvez, se essa configuração estiver desligada, os eventos de despertar não sejam agrupados por horário para serem processados de uma vez, e acabem acontecendo várias vezes ao longo da noite em momentos aleatórios. Parece exatamente o tipo de comportamento que isso explicaria
    • Isso me confunde. Será que ativar explicitamente uma opção para acordar o computador na verdade reduz a quantidade de vezes que ele acorda?
    • Também fiquei confuso. No screenshot do autor, ela aparece como Enable. Isso parece ser o “normal”, então não entendo intuitivamente por que Disabled causaria mais wakes
    • Explicações que vão contra o senso comum como essa precisam de mais detalhes ou, no mínimo, deixar claro que se trata de uma exceção. Quando o texto é editado depois de publicado, esse tipo de problema fica difícil de perceber
  • Em todos os laptops Mac que tive até hoje, resolvi isso configurando sempre para hibernate ao fechar a tampa. Quando abro a tampa para usar de novo, leva uns 20 a 30 segundos para restaurar, mas considero isso um pequeno preço a pagar para ter muito menos preocupação com repouso e consumo de bateria. No terminal, dá para usar este comando: sudo pmset -a hibernatemode 25. Para voltar ao padrão, basta usar sudo pmset -a hibernatemode 3
    • Fico curioso se o modo hibernate funciona bem com FDE (criptografia total de disco). No Linux, há várias questões a considerar sobre criptografia quando o conteúdo da memória é gravado no disco
    • Acho que essa é a forma mais simples de configurar o comportamento que a maioria das pessoas espera
  • Já investiguei problemas de repouso em Macbook por muito tempo, mas no meu caso o culpado parece ser o WindowServer e provavelmente a solução vai acabar sendo reinstalar o sistema inteiro. Poucas coisas são tão frustrantes quanto tirar da mochila, a cada um ou dois meses, um notebook quente e sem bateria, e ainda ouvir a reação de “isso nunca aconteceu comigo, será que você não está usando errado?”
  • O macOS me parece estar quase em modo de manutenção há uns 10 anos. Imagino que a migração para ARM/Mac Silicon tenha dado um trabalho enorme. As atualizações de IA também foram decepcionantes, e parece que houve poucas melhorias realmente substanciais nos últimos tempos. Anos atrás eu usava um Intel Macbook Air em que o botão de energia ficava colado ao backspace, então encontrei num fórum de Mac um script para fazer o botão de energia só desligar se fosse mantido pressionado, em vez de desligar com um toque. Só que o script escondia um trojan, e precisei resetar o Mac para padrão de fábrica e apagar todo o iCloud. Diziam que esse script tinha até um GUID que parecia variável interna e podia baixar recursos de algum lugar desconhecido. Eu achei que fosse só uma variável interna
  • A documentação oficial de suporte da Apple mostra que esse recurso (opções de energia) já existe no sistema
    • No meu M4 MacBook Air com macOS 26 DB, não existe power nap nesse lugar. Em vez disso aparece "Wake for network access", e o padrão é "Only on Power Adapter"
    • Eu achava que power nap e "wake for network access" eram a mesma coisa. Parece que no macOS 26 essa opção não existe mais. Aqui está em "Only on Power Adapter", o que parece razoável. Estou falando de um M4 MacBook Air
  • Eu mesmo escrevi quase o mesmo post de blog na semana passada. Infelizmente, no meu caso a solução não funcionou, porque algum processo além do power nap continua acordando o sistema. Post relacionado: post no annoying.technology
  • A aba Energy do Activity Monitor é útil nessas situações. Dá para ver quais apps estão impedindo totalmente o system sleep e também o consumo de energia de cada processo nas últimas 12 horas. É possível rastrear a causa logo durante a noite
  • Também estou enfrentando algo parecido no meu MacBook Pro (Apple Silicon). Se eu coloco em repouso com um SSD conectado, parece que o sistema acorda periodicamente para ativar a unidade. O resultado é que tanto o notebook quanto o SSD esquentam e a bateria acaba rápido. A única forma de contornar isso é desconectar todos os drives externos antes de colocar em repouso e deixar ligado no carregador. É um bug bem incômodo. Passa a impressão de que faltou controle de qualidade e testes