Por que o Mac está lento e como diagnosticar
Um Mac lento é um problema de latência, e vários gargalos podem produzir a mesma sensação: disputa de CPU, pressão de memória, capacidade de armazenamento, E/S de disco, limites térmicos ou um serviço de rede lento. O objetivo é identificar qual recurso está saturado enquanto a lentidão acontece. Um instantâneo tirado depois que o problema acaba prova pouco.
Aqui está como as peças funcionam, e os comandos para vê-las.
O mito da RAM: memória livre não é o objetivo
O instinto errado mais comum é olhar para "memória livre" e entrar em pânico quando ela está baixa. No macOS, pouca memória livre é normal e saudável. RAM sem uso é RAM desperdiçada, então o kernel a mantém cheia de propósito: arquivos usados recentemente ficam em cache na memória para que a próxima leitura seja imediata, e esse cache é liberado no momento em que um programa precisa do espaço.
O macOS também comprime memória. Desde o OS X Mavericks, quando a RAM enche, o sistema comprime páginas inativas no lugar em vez de escrevê-las imediatamente no disco, então alguns dados que iriam para o swap mais lento podem ficar na RAM. Você pode observar os contadores diretamente:
vm_stat
Os números estão em páginas, com o tamanho da página impresso perto do topo. O que importa não é Pages free, e sim a pressão de memória e a taxa de mudança. Swapins e Swapouts são cumulativos desde a inicialização, então um número grande sozinho não prova um problema atual. Rode o comando duas vezes durante a lentidão ou use o Monitor de Atividade para ver se o swap e a pressão continuam subindo.
A melhor visão geral é a pressão de memória na aba Memória do Monitor de Atividade. O guia de memória da Apple define verde como uso eficiente, amarelo como pressão possível e vermelho como necessidade de mais RAM. Leia esse gráfico junto com a tendência de swap e a lista de apps, não só o número de memória livre.
Ache o gargalo real
Abra o Monitor de Atividade e leia as abas em ordem, ou use a linha de comando:
- CPU: ordene por uso com
top -o cpuno Terminal, ou a aba CPU do Monitor de Atividade. Note que %CPU é por núcleo, então um valor acima de 100% é um processo usando vários núcleos, o que é normal para um build ou uma exportação e suspeito para um app em repouso. - Memória: o gráfico de pressão, como acima.
- Capacidade de disco: rode
df -h /. O APFS usa espaço livre para swap e arquivos temporários, e um disco quase cheio pode bloquear atualizações ou deixar uma carga sem espaço temporário. Não há uma porcentagem segura universal, então compare a capacidade disponível com a tarefa que está falhando. Se este é o seu problema, ache o que está enchendo o disco e libere espaço. - E/S de disco: na aba Disco do Monitor de Atividade, ordene por Bytes gravados ou Bytes lidos e observe o gráfico enquanto a pausa ocorre.
iostat -w 1dá uma visão ao vivo na linha de comando. Uma sincronização, um backup, um build ou um disco externo falhando pode causar latência mesmo quando sobra bastante capacidade. - Calor: coberto abaixo.
- Latência de rede ou de serviço: se só um app apoiado na nuvem está lento enquanto os apps locais continuam responsivos, confira a atividade de rede e o status do serviço antes de mudar o Mac. Nem toda interação lenta é um gargalo de hardware.
Essas leituras separam um gargalo do sistema inteiro de um app lento. Adivinhar com uma limpeza genérica pode mudar várias variáveis e esconder a causa real.
Um processo descontrolado
Se a CPU está presa no alto, top -o cpu mostra o culpado no topo. Um app preso, um cliente de sincronização varrendo de novo ou um auxiliar em segundo plano preso num laço são os casos habituais. Se você o reconhece como seguro de encerrar, encerre-o. Se ele se relança em segundos, procure um job do launchd ou um app que reinicia o auxiliar (veja a seção de início abaixo). Encerrar o processo sozinho pode não se sustentar.
Cuidado com processos do sistema. kernel_task subindo muitas vezes é o sistema usando tempo de CPU de propósito para desacelerar o chip quando está quente, não um bug para matar. Isso é um sintoma térmico, não de memória nem de app.
Throttling térmico
Quando um Mac esquenta, o chip reduz a velocidade de clock para esfriar, e o trabalho pesado parece arrastado. Você pode confirmar em vez de adivinhar:
pmset -g therm
Isso informa o estado registrado de aviso térmico e de desempenho quando o macOS o expõe. Para uma amostra detalhada de energia e pressão térmica, use:
sudo powermetrics --samplers thermal,cpu_power -n 1
Interprete tendências sob a mesma carga em vez de tratar uma temperatura como um limite universal. Se o throttling é o gargalo, o conserto é carga, fluxo de ar ou assistência, não limpeza de cache. Um ventilador alto pode ser evidência de apoio, mas Macs sem ventilador também podem entrar em throttling, e por que o ventilador do seu MacBook está alto cobre o que fazer a respeito.
Spotlight e itens de início
Duas causas em segundo plano valem ser descartadas. Depois de uma atualização do macOS, uma migração ou uma mudança grande de arquivos, o Spotlight pode reconstruir partes do índice. mdutil -s / informa se a indexação está ativada, não se uma reconstrução está ativa agora. CPU sustentada de mds ou mdworker mais E/S de disco e a interface de progresso do Spotlight dão o contexto. A duração depende do volume de dados, da velocidade do armazenamento, das permissões e da reescrita repetida de arquivos, então não há uma promessa confiável de uma hora.
A outra é a carga de inicialização. Ajustes do Sistema › Geral › Itens de Início e Extensões separa apps abertos no login de software autorizado a rodar em segundo plano. Esses podem usar Service Management, launchd, extensões ou auxiliares de app. Desative um item conhecido de cada vez e confirme que o app dono ainda funciona.
Por dentro: como um monitor lê isto sem somar a isto
Você pode pular esta parte, mas ela explica por que o conselho de memória acima está certo, e por que um monitor ao vivo não vira ele mesmo um dos seus processos lentos. A CLI de código aberto do Mole (cmd/status) e o app nativo para Mac usam coletores separados, mas os dois separam leituras rápidas de enriquecimento lento.
A CLI preenche o valor de memória em cache que a biblioteca de métricas multiplataforma não consegue fornecer no macOS, analisando páginas apoiadas em arquivo de vm_stat e multiplicando pelo tamanho de página informado. Ela lê o estado de pressão do sistema a partir de memory_pressure em vez de derivá-lo de bytes livres. O app nativo chega à mesma resposta sem chamar o shell: lê contadores de VM com host_statistics64 e o nível de pressão por kern.memorystatus_vm_pressure_level.
Ficar leve é a outra metade. Um monitor que remediria tudo a cada tick seria o próprio problema de desempenho, então o coletor amostra em camadas:
Os números baratos (CPU, memória e rede) atualizam cerca de uma vez por segundo. O enriquecimento de processo, GPU e disco roda em ticks mais pesados, enquanto sondas de hardware e de dispositivo reutilizam caches de vida mais longa. Históricos de tamanho fixo guardam só as amostras recentes que desenham os sparklines. É assim que um HUD da barra de menus pode atualizar ao vivo sem transformar o monitor na carga que você está tentando diagnosticar.
Onde uma ferramenta ajuda
Tudo acima se lê com comandos embutidos, e esse é o ponto: você não precisa de um app para diagnosticar um Mac lento. O que um app poupa é a montagem. A visualização Status do Mole mostra CPU, pressão de memória, disco, temperatura e os principais processos numa tela, com uma leitura ao vivo na barra de menus, e clicar num processo explica o que o lançou, se ele está mantendo o Mac acordado e o que está lendo e escrevendo, que é o mesmo detalhe de launchd e de E/S que você juntaria à mão. É uma conveniência sobre os comandos, não um substituto de entendê-los.
O que quer que você use, evite varreduras de um clique para "acelerar" que mudam estado sem relação. Você não cria um ganho durável de desempenho forçando cache útil de arquivo para fora da RAM. Reiniciar pode ser um diagnóstico útil para um processo preso e é exigido por algumas atualizações, mas o macOS já gerencia memória e swap de forma contínua.
Um diagnóstico que se repete
Reproduza a lentidão, observe CPU, pressão de memória, capacidade de disco, E/S de disco, estado térmico e atividade de rede, e depois mude uma variável. Meça de novo sob a mesma carga. Isso transforma "o Mac parece lento" numa causa que se pode falsear e impede que um reinício ou uma limpeza temporária seja confundido com um conserto permanente.