opendirectoryd consome 40% da CPU

22

Eu tenho um MacBook Pro com Lion 10.7.2, CPU de 2,26 GHz e 2GB de RAM DDR3.

Se eu ligar

top -o cpu

o /usr/libexec/opendirectorydprocesso consome mais de 40% da CPU.

$ ps aux | grep opend                                                                       
root 27834 40,4 0,3 2472048 5780 ?? Rs 6:36PM 167:19.66 /usr/libexec/opendirectoryd

insira a descrição da imagem aqui

Juan Pablo
fonte
@slhck /usr/libexec/opendirectoryd
juanpablo 26/10/11

Respostas:

22

O problema está relacionado aos links simbólicos mortos no Dropbox. Encontre-os usando:

find ~/Dropbox -type l -printf "%Y %p\n" | grep "^N"

A solução é: Remova os links simbólicos mortos. Se findnão tiver a printfopção, use:

find -L ~/Dropbox -type l

Referências

Para encontrar links simbólicos mortos

Juan Pablo
fonte
Gostaria de saber como você conseguiu a primeira solução para trabalhar com o BSD findno OS X. Você precisa pelo menos instalar o GNU findutilspara obter a printfopção.
slhck
Eu instalei o findutils find - versão 13:17 find (GNU findutils) 4.4.2
juanpablo
Ok, bem, ele não é fornecido com o OS X para que o comando que você usou não funcionou.
slhck
Versão BSD do comando find que lista links simbólicos quebrados: find '~/Dropbox' -type l -print0 | xargs -0 file | grep broken
Piotr Czapla
11

Conforme mencionado por @juanpablo, isso pode ser causado por links simbólicos.

Aparentemente, se um link simbólico aponta para /home, autofs ou automountd disparam e consomem muita CPU para descobrir que o local realmente não existe.

Dê uma olhada /etc/auto_homee /etc/autofs.conf.

Para ver se você está sendo atingido por esse problema específico, defina

AUTOMOUNTD_VERBOSE=TRUE

opção autofs.conf, reinicie o automountd

sudo launchctl stop com.apple.automountd

e revise o syslog.log (você pode usar o aplicativo: Console). Você é afetado por esse problema se vir algo assim:

May 20 17:53:43 xxx automountd[31709]: od_search failed

Para contornar o problema, edite o arquivo /etc/auto_mastere remova (ou use hash out #) a linha que começa com /home. Então corra:

sudo automount -vc
Marek
fonte
1
Obrigado, isso também resolveu o meu problema e estava relacionado ao Dropbox - eu tinha alguns links mortos apontando /homena minha pasta do Dropbox (sobras de backup de sistemas anteriores) que estavam causando esse comportamento. Desativar /homeem auto_home corrigiu.
precisa saber é o seguinte
1

Para mim, o que realmente resolveu foi desconectar o cabo Ethernet do meu iMac. Por mais louco que pareça :) Eu estava sendo atacado de fora, força bruta no meu sshd. O roteador que eu tenho (da UPC, Cisco EPC3925), por padrão, encaminha todo o tráfego de fora para a única porta Ethernet que possui. Ao desconectar o cabo, o ataque foi interrompido, pois o iMac foi deixado apenas em WiFi.

Aparentemente, o sshd está usando o opendirectoryd e é por isso que isso estava acontecendo.

skrat
fonte