Glossário/CPU, GPU e energia

Processos não medidos

Também: por que a lista não bate com o total

Resposta rápida

Os processos de um monitor de sistema raramente somam o total do gráfico dele. No Monitor de Atividade, isso acontece porque cada núcleo conta até 100% e o trabalho entre duas amostras se perde. Em outros monitores, é também porque o macOS só deixa um app medir os processos que pertencem ao seu usuário, então processos do sistema como WindowServer e kernel_task ficam em branco, a menos que um auxiliar os leia.

Há duas coisas diferentes acontecendo, e ajuda separá-las. A primeira é aritmética: a coluna % CPU do Monitor de Atividade é uma parcela de um núcleo, então em um Mac com 8 núcleos a coluna pode somar 800% enquanto o gráfico na parte de baixo mostra uma porcentagem da máquina inteira. Divida pelo número de núcleos e os dois batem, com uma pequena diferença dos processos que começaram e terminaram entre as amostras.

A segunda é permissão. O macOS só responde a perguntas detalhadas sobre um processo, como tempo de CPU, memória, tráfego de disco e de rede, ao usuário dono dele ou ao root. O Monitor de Atividade é da Apple e lê por um serviço do sistema que enxerga tudo. Um monitor de terceiros roda como você, então os processos do root ou de contas do sistema, que são a maior parte do que aparece no topo da lista, não informam nada, e o total dos apps fica abaixo do total do Mac.

Como fazer os números do Monitor de Atividade baterem

Ordene a aba CPU por % CPU e some as primeiras linhas: em um Mac ocupado, elas passam de 100% rapidinho. Agora leia os valores Sistema e Usuário abaixo da lista, que são parcelas do Mac inteiro. A coluna é por núcleo e o resumo é pelo Mac, e a proporção entre eles é o seu número de núcleos.

O resto da diferença é questão de tempo. O Monitor de Atividade faz uma amostra a cada cinco segundos por padrão (Visualizar → Frequência da Atualização). Um processo que roda por um segundo e sai, como um comando de shell, um trabalhador do Spotlight ou um auxiliar que um app abriu e fechou, entra no total, mas nunca aparece na lista.

O que um auxiliar faz, e por que alguns monitores pedem um

Para medir processos que não são dele, um monitor precisa de um pequeno auxiliar privilegiado que o macOS instala com a sua senha e que responde a uma pergunta: quanto esses processos estão usando? O auxiliar roda como root, e por isso um app cuidadoso o deixa opcional, pequeno, e diz exatamente o que ele lê.

Sem um auxiliar, o honesto é o monitor dizer isso: mostrar em branco os processos do sistema que não consegue medir, contá-los e avisar que a lista soma menos que o total. Um monitor que mostra um número para o kernel_task sem um auxiliar está estimando.

Perguntas frequentes

Por que a % CPU soma mais de 100% no Monitor de Atividade?

Porque cada núcleo conta até 100%. Um Mac com 8 núcleos pode mostrar 800% somando os processos. Os valores Sistema, Usuário e Ocioso abaixo da lista são parcelas do Mac inteiro, então sempre somam 100%.

Por que alguns processos não mostram CPU nem memória em um monitor de terceiros?

O macOS só deixa um app ler números detalhados dos processos do mesmo usuário. WindowServer, kernel_task, mds_stores e outros processos do sistema pertencem ao root ou a contas do sistema, então ficam em branco, a menos que o monitor tenha um auxiliar que o macOS deixe lê-los.

Um auxiliar privilegiado é seguro?

É um programa que roda como root, então a confiança importa. Um auxiliar bem-comportado é pequeno, não faz nada além de ler os números dos processos, só é instalado quando você o ativa e pode ser removido no mesmo lugar. Leia o que o app diz que ele faz antes de ativá-lo.

Relacionados

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.