mdworker com CPU alta no Mac: quando o Spotlight trava
Processos chamados mds, mds_stores ou mdworker pertencem aos metadados e à indexação de busca do Spotlight. Um pico depois de uma atualização, migração, restauração ou mudança grande de arquivos é normal, mas mdutil -s sozinho não diz que uma reconstrução está ativa, e não existe uma duração fixa de uma hora. Diagnostique o gatilho e o progresso antes de reconstruir ou excluir dados.
O que importa é o momento. Um pico depois de uma atualização, migração, restauração ou mudança grande de arquivos é o Spotlight fazendo o trabalho esperado. CPU alta que volta com o Mac em repouso aponta para um volume ou uma pasta que continua mudando. Encerrar os workers não quebra esse ciclo; o launchd simplesmente os inicia de novo.
O que são mds e mdworker
Eles são o motor de indexação do Spotlight. O mds (servidor de metadados) coordena o índice, o mds_stores administra o banco de dados, e os processos mdworker fazem a varredura dos arquivos para que o conteúdo e os metadados possam ser buscados. Quando o índice está em dia, eles ficam ociosos. Quando algo deixa o índice desatualizado, eles acordam e percorrem os seus arquivos, e essa é a CPU que você vê.
Por que o uso dispara
O Spotlight reindexa quando muitos arquivos mudam de uma vez:
- Depois de uma atualização ou migração do macOS, quando grandes partes do disco são novas.
- Depois de mover ou copiar uma grande quantidade de dados, como restaurar arquivos ou clonar um disco.
- Depois de conectar um volume externo ou de rede novo que ainda não foi indexado.
- Quando uma pasta cheia de arquivos muda rápido, como um download grande terminando.
Confira se a indexação está ativada:
mdutil -s /
"Indexing enabled" é o estado normal, não um relatório de progresso. Relacione a CPU sustentada do mdworker com a atividade de disco do Monitor de Atividade e com mudanças recentes de arquivos. Se o trabalho está avançando, deixe o Mac ligado e permita que termine. Árvores grandes de código-fonte, arquivos de e-mail, volumes externos, armazenamento lento e sincronização que reescreve arquivos sem parar podem alongar a tarefa.
Quando não se acalma
Se a atividade nunca se acalma, primeiro pare o app que está reescrevendo arquivos e desconecte um volume externo suspeito. Excluir uma pasta em Ajustes do Sistema › Spotlight › Privacidade da Busca troca um custo menor de indexação por perder os resultados do Spotlight nessa pasta. Use isso para árvores de build geradas, discos virtuais ou arquivos que você realmente nunca busca, não como exclusão geral da pasta Pessoal ou do disco de inicialização.
Quando faltam resultados de busca ou o índice está comprovadamente preso, a Apple documenta uma reconstrução pela mesma lista de privacidade: adicione o disco ou a pasta afetada, espere um pouco e depois remova. O guia atual de reconstrução do Spotlight chama o botão de Privacidade da Busca ou Privacidade do Spotlight, conforme a versão do macOS. O Spotlight indexa o item de novo depois que você o remove da lista. Uma reconstrução repete de propósito um trabalho caro, então é um passo de reparo, não a primeira resposta a uma CPU alta comum.
Por dentro: o índice, e o que força uma reconstrução
O Spotlight mantém um índice invertido, um mapa de palavras e metadados para os arquivos que os contêm, num armazenamento oculto .Spotlight-V100 em cada volume. Quando um arquivo muda, o mecanismo FSEvents do kernel avisa o mds, que entrega o arquivo a um mdworker, que carrega o plugin importador correspondente (.mdimporter) daquele tipo de arquivo para extrair texto e metadados. Uma edição normal é barata. Uma reconstrução completa é cara porque os arquivos elegíveis precisam ser reimportados. Algumas atualizações, migrações e restaurações disparam uma reindexação grande, mas o alcance varia. Exclusões de privacidade reduzem o trabalho só ao abrir mão da busca naquela subárvore, e por isso devem ser estreitas e intencionais.
Onde um monitor ajuda
O Monitor de Atividade ou a tela Status do Mole pode identificar o Spotlight como dono da CPU e do disco. A pergunta mais difícil é se o trabalho vem de uma mudança finita ou de uma pasta que continua mudando. A atividade recente e o isolamento controlado respondem isso; forçar o encerramento de um worker não responde.
Um diagnóstico que se repete
Confirme que a indexação está ativada, relacione a CPU com a atividade de disco e com mudanças recentes de arquivos, e espere quando o progresso for plausível. Isole uma pasta ou um volume que muda sem parar quando a atividade persiste. Exclua só dados que você não precisa buscar; reconstrua pela Privacidade da Busca só quando os resultados ou o comportamento do índice provarem que é necessário. Não mate os workers como estratégia de limpeza.