Opendirectoryd consomme 40% du CPU

J'ai un MacBook Pro avec Lion 10.7.2, CPU 2.26 GHz et 2GB de RAM DDR3.

Si j'appelle

top -o cpu 

/usr/libexec/opendirectoryd processus /usr/libexec/opendirectoryd consomme plus de 40% de la CPU.

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

Entrez la description de l'image ici

Le problème est lié aux liens symboliques morts dans Dropbox. Trouvez-les en utilisant:

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

La solution est: supprimer les liens symboliques morts. Si find n'a pas l'option printf , utilisez:

 find -L ~/Dropbox -type l 

Les références

Trouver des liens symboliques morts

Comme mentionné par @juanpablo, cela peut être causé par des liens symboliques.

Apparemment, si un lien symbolique indique /home , autofs ou automountd fire et prend beaucoup de CPU pour comprendre que l'endroit n'existe pas.

Jetez un oeil à /etc/auto_home et /etc/autofs.conf .

Pour voir si vous êtes touché par ce problème particulier, définissez

 AUTOMOUNTD_VERBOSE=TRUE 

Option dans autofs.conf , redémarrez automountd

 sudo launchctl stop com.apple.automountd 

Et examinez syslog.log (vous pouvez utiliser l'application: Console). Vous êtes affecté par ce problème si vous voyez quelque chose comme ça:

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

Pour contourner, modifiez le fichier /etc/auto_master et supprimez (ou hash out # ) la ligne commençant par /home . Ensuite, exécutez:

 sudo automount -vc 

Pour moi, ce qui a réellement résolu, c'est de débrancher le câble Ethernet de mon iMac. Assez que ça me semble 🙂 J'étais attaqué de l'extérieur, bruteforce sur mon sshd. Le routeur que j'ai (par UPC, Cisco EPC3925) envoie par défaut tout le trafic de l'extérieur vers le port ethernet unique qu'il possède. En débranchant le câble, l'attaque s'est arrêtée lorsque l'iMac était laissé sur Wi-Fi uniquement.

Apparemment, sshd utilise opendirectoryd et c'est pourquoi cela se produisait.