Glossário/Processos que você vai ver

contactsd

Também: Sincronização do Contatos

Resposta rápida

contactsd é o processo do macOS que gerencia os seus contatos. Ele mantém o banco de dados do Contatos no seu Mac, responde a todo app que procura um nome, número ou endereço e trabalha com as contas em Contas de Internet para manter os contatos sincronizados com o iCloud, o Google, o Exchange e outros servidores.

O Contatos não é o único app que lê a sua agenda. O Mail a usa para dar nome aos remetentes, o Mensagens e o FaceTime para mostrar quem está ligando, o Calendário para preencher os convidados e o Spotlight para encontrar pessoas. Cada um deles pergunta ao contactsd, então ele roda esteja o app Contatos aberto ou não.

Na maior parte do tempo ele fica ocioso e quase não usa nada. Ele fica ocupado quando há trabalho de verdade: a primeira sincronização depois que você adiciona uma conta, uma importação grande, uma atualização do macOS que migra o banco de dados ou uma conta que fica falhando e tentando de novo. Esta última é o motivo comum para ele ficar perto do topo da lista de CPU por horas.

Por que o contactsd está usando tanta CPU

Um pico curto depois que você adiciona uma conta, importa um arquivo vCard ou atualiza o macOS é normal e termina sozinho. O contactsd está lendo, mesclando e indexando cada cartão, e uma agenda grande demora um pouco.

Um pico que nunca termina geralmente significa que uma conta está presa em um loop. O contactsd pede as mudanças ao servidor, recebe uma resposta que não consegue processar e pede de novo. Contas do Google e do Exchange causam isso com mais frequência do que o iCloud, normalmente depois de uma troca de senha, de um acesso revogado ou de um grupo ou cartão que o servidor rejeita. Milhares de cartões duplicados, muitas vezes da mesma conta adicionada duas vezes, o mantêm ocupado do mesmo jeito.

Como acalmá-lo

Comece encontrando a conta. Abra Ajustes do Sistema → Contas de Internet e procure uma que peça para você iniciar sessão de novo, depois abra o Contatos e veja se alguma conta na barra lateral mostra um aviso. Se uma conta for o problema, desative o Contatos para ela, espere um minuto e reative. O contactsd então descarta a cópia local daquela conta e a baixa de novo.

Se não der para saber qual é a conta, desative o Contatos para todas as contas menos o iCloud, veja se o contactsd se acalma e adicione as outras de volta uma de cada vez. Encerrar o contactsd no Monitor de Atividade só ajuda por um momento: o macOS o inicia de novo na hora, e a mesma conta logo o dispara outra vez.

Como saber se o contactsd está travado

Uma sincronização que está funcionando vai ficando mais quieta. Uma sincronização em loop parece igual a cada poucos minutos. O Monitor de Atividade e o Terminal mostram qual dos dois é o seu caso.

  1. Abra o Monitor de Atividade, clique na aba CPU e digite contacts no campo de busca. Você vai ver o contactsd e, muitas vezes, o AddressBookSourceSync, o auxiliar que conversa com o servidor de cada conta.
  2. Observe a % CPU por alguns minutos. Um valor que cai em direção a zero é uma sincronização terminando. Um que continua alto, ou que sobe e desce num ritmo constante, é um loop.
  3. Clique na aba Rede. Um loop geralmente mostra o AddressBookSourceSync enviando e recebendo pequenas quantidades várias e várias vezes, em vez de um download grande.
  4. Para ver os detalhes, abra o Terminal e execute log stream --predicate 'process == "contactsd"'. Erros repetidos que citam a mesma conta ou o mesmo servidor apontam para a conta a corrigir. Pressione Control-C para parar.

Uso normal do contactsd ou sinal de problema

Normal: o contactsd fica perto de zero, acorda por um instante quando o Mail ou o Mensagens procura um nome e trabalha por alguns minutos depois que você adiciona uma conta ou importa cartões. Depois de uma atualização do macOS, ele pode ficar ocupado por mais tempo enquanto converte o banco de dados para um formato novo.

Vale investigar: ele fica ocupado por horas, as ventoinhas ligam enquanto você não está fazendo nada ou o Contatos mostra as mesmas pessoas duas ou três vezes. Estas são as causas comuns:

  • Uma conta que precisa que você inicie sessão de novo, depois de uma troca de senha ou de uma senha de app revogada.
  • A mesma conta do Google ou do Exchange adicionada duas vezes, uma em Contas de Internet e outra por um app.
  • Milhares de cartões duplicados de uma importação antiga. No Contatos, escolha Cartão → Procurar Duplicatas para juntá-los.
  • Uma conta do trabalho cujo servidor limita a frequência de sincronização, então cada tentativa é recusada e repetida.

Onde o contactsd guarda os seus contatos

O banco de dados fica na sua Biblioteca de usuário, em ~/Library/Application Support/AddressBook, com uma pasta por conta em Sources. Não apague nem edite esse banco à mão para resolver um problema de sincronização: desativar e reativar o Contatos para a conta em Contas de Internet reconstrói com segurança a cópia daquela conta, e os contatos que existem só no seu Mac não são afetados.

Antes de qualquer mudança maior, exporte um backup pelo Contatos com Arquivo → Exportar → Arquivo do Contatos. Ele salva todos os cartões de todas as contas em um único arquivo que você pode importar depois.

Perguntas frequentes

O que é contactsd no Mac?

O processo do macOS que gerencia os seus contatos: ele mantém o banco de dados do Contatos, responde aos apps que procuram pessoas e sincroniza os contatos com o iCloud, o Google, o Exchange e outras contas.

Por que o contactsd está com CPU alta?

Por pouco tempo, porque está sincronizando ou indexando depois que uma conta foi adicionada, de uma importação ou de uma atualização do macOS. Por horas, porque uma conta está falhando e tentando de novo, ou porque a agenda está cheia de duplicatas.

O contactsd é vírus?

Não. Ele faz parte do macOS e é iniciado pelo launchd na sua própria conta de usuário. Você não pode removê-lo, e não há motivo para isso.

O que é o AddressBookSourceSync?

O auxiliar que o contactsd usa para sincronizar cada conta de contatos com o servidor dela. Se ele está ocupado junto com o contactsd, uma das suas contas está sincronizando, e um loop entre os dois geralmente aponta para uma única conta.

Desativar o Contatos para uma conta apaga os meus contatos?

Isso remove a cópia daquela conta do seu Mac, não do servidor. Reative e os contatos são baixados de novo. Os contatos guardados só em No Meu Mac não são afetados.

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.