Glossário/CPU, GPU e energia

Ativações Durante Ociosidade

Também: idle wake ups, despertares da CPU

Resposta rápida

Ativações Durante Ociosidade conta quantas vezes um processo acordou a CPU de um estado ocioso. Ativações frequentes impedem o processador de descansar e podem custar bateria mesmo quando a % CPU parece baixa.

Uma CPU economiza mais energia quando consegue ficar ociosa por longos períodos. Cada vez que um processo define um temporizador ou verifica alguma coisa, a CPU precisa acordar para atender. Uma ativação custa pouco, mas milhares delas somam.

Você pode mostrar a coluna Ativações Durante Ociosidade na aba CPU do Monitor de Atividade. Ela é mais útil para encontrar apps em segundo plano que ficam consultando algo o tempo todo sem fazer quase nenhum trabalho de verdade.

Como ver as Ativações Durante Ociosidade no Monitor de Atividade

Clique na aba CPU, escolha Visualizar > Colunas e confira se Ativações Durante Ociosidade está marcada. Clique no cabeçalho da coluna para ordenar por ela.

O que causa muitas ativações

As causas comuns são apps que procuram atualizações em intervalos curtos, animações rodando em janelas que você não vê e apps de sincronização ou de chat que mantêm conexões ativas. Navegadores com muitas abas abertas também podem gerar muitas ativações.

O macOS reduz isso nos apps ocultos com recursos como o App Nap, que deixa mais lentos os temporizadores dos apps que você não está usando.

Por que as ativações gastam bateria mesmo com a % CPU baixa

Quando todos os núcleos estão ociosos, o chip pode desligar partes compartilhadas do processador, não só os núcleos. O manual do powermetrics da Apple explica que um temporizador ou uma interrupção que acaba com esse estado ocioso profundo custa mais energia do que o mesmo trabalho feito com a CPU já acordada.

Então um app pode usar quase nenhum tempo de CPU e mesmo assim impedir o Mac de descansar. Cada ativação é curta, e por isso quase não aparece na % CPU, mas o chip nunca consegue ficar muito tempo no seu estado de menor consumo.

O macOS reduz isso agrupando os temporizadores que vencem mais ou menos ao mesmo tempo, para que a CPU acorde uma vez só para vários deles. A Apple chama isso de coalescência de temporizadores. O App Nap vai além nos apps ocultos, disparando os temporizadores deles com menos frequência.

Como encontrar os apps que mais acordam o Mac

  1. Encerre ou oculte os apps que você está usando ativamente, para que a lista mostre o comportamento em segundo plano.
  2. No Monitor de Atividade, clique na aba CPU e ordene por Ativações Durante Ociosidade.
  3. Observe por um minuto. Anote os apps que ficam perto do topo enquanto você não os está usando.
  4. Clique na aba Energia e veja se os mesmos apps também ficam no alto em Impacto Energético.
  5. Para ver pelo Terminal, execute top -o idlew -stats pid,command,cpu,idlew. A coluna IDLEW é um total acumulado, então observe quais valores sobem mais rápido. Pressione q para sair.
  6. Para uma amostra mais detalhada, execute sudo powermetrics --samplers tasks --order wakeups -n 1. Ele lista as ativações por temporizador e por interrupção de cada processo, ordenadas pelas ativações que tiram o chip do estado ocioso.

Ativações Durante Ociosidade normais e preocupantes

Não existe um número que seja sempre alto demais, já que a contagem depende do app e de quanto tempo ele está aberto. O que importa é o padrão.

  • Normal: processos do sistema como kernel_task e WindowServer perto do topo. Eles tratam eventos de hardware e o desenho da tela, então acordam a CPU com frequência por natureza.
  • Normal: apps tocando áudio, em uma chamada ou mantendo uma conexão ao vivo aberta enquanto você os usa.
  • Vale uma olhada: um app oculto que você não está usando e que continua subindo rápido, principalmente se também mostra Não na coluna App Nap.
  • Vale uma olhada: pequenos utilitários da barra de menus que se atualizam com frequência, como relógios com segundos ou estatísticas ao vivo. Muitos permitem escolher um intervalo de atualização mais lento nos ajustes.

O que fazer com um app com ativações demais

Procure nos ajustes do app um intervalo de atualização ou de sincronização e aumente-o. Desative pré-visualizações ao vivo ou animações de que você não precisa. Atualize o app e, se o problema continuar, avise o desenvolvedor: a Apple pede aos desenvolvedores que usem o mínimo de temporizadores, então um fluxo constante de ativações vindo de um app ocioso é um bug que vale relatar.

Perguntas frequentes

O que significa Ativações Durante Ociosidade no Monitor de Atividade?

É o número de vezes que um processo acordou a CPU do estado ocioso. Apps com um número alto podem gastar a bateria mesmo quando a % CPU deles é baixa.

Um número alto de Ativações Durante Ociosidade é ruim?

Nem sempre. Apps que tocam áudio ou mantêm uma conexão de rede aberta precisam acordar com frequência. Importa mais nos apps que você não está usando e que mesmo assim aparecem perto do topo.

Como reduzir as ativações durante ociosidade?

Encerre os apps que você não está usando, feche as abas do navegador de que não precisa e mantenha os apps atualizados. Ocultar ou minimizar apps também permite que o App Nap os desacelere.

Por que o kernel_task tem tantas Ativações Durante Ociosidade?

O kernel_task é o kernel do macOS, e ele trata as interrupções de hardware como o teclado, o trackpad, a rede e o armazenamento. Um número alto para ele é esperado e não é algo a corrigir.

As Ativações Durante Ociosidade importam quando o Mac está na tomada?

Bem menos. As ativações custam sobretudo duração de bateria. Na tomada elas acrescentam um pouco de consumo e de calor, mas raramente são a causa de um Mac lento.

Qual é um bom número de Ativações Durante Ociosidade?

Não existe um valor fixo bom. Compare os apps entre si e procure os que você não está usando e que mesmo assim sobem rápido.

Relacionados

Passo a passo: O que está gastando a bateria do meu Mac.

Procurando algo melhor que o Monitor de Atividade? Veja as melhores alternativas ao Monitor de Atividade para Mac ou navegue por todos os termos do glossário.