opendirectoryd consomme 40% du CPU

22

J'ai un MacBook Pro avec Lion 10.7.2, un processeur 2,26 GHz et 2 Go de RAM DDR3.

Si j'appelle

top -o cpu

le /usr/libexec/opendirectorydprocessus consomme plus de 40% de 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

Juan Pablo
la source
@slhck /usr/libexec/opendirectoryd
juanpablo

Réponses:

22

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 la suivante: supprimez les liens symboliques morts. Si ce findn'est pas le cas printf, utilisez:

find -L ~/Dropbox -type l

Les références

Pour trouver des liens symboliques morts

Juan Pablo
la source
Vous vous demandez comment vous avez obtenu la première solution pour travailler avec le BSD finddans OS X. Vous devez au moins installer GNU findutilspour obtenir l' printfoption.
slhck
J'ai installé findutils find --version 13:17 find (GNU findutils) 4.4.2
juanpablo
D'accord, il n'est pas livré avec OS X, de sorte que la commande que vous avez utilisée n'aurait pas fonctionné.
slhck
Version BSD de la commande find qui répertorie les liens symboliques cassés: find '~/Dropbox' -type l -print0 | xargs -0 file | grep broken
Piotr Czapla
11

Comme mentionné par @juanpablo, cela peut être dû à des liens symboliques.

Apparemment, si un lien symbolique pointe vers /home, autofs ou automountd se déclenchent et prennent beaucoup de CPU pour comprendre que l'endroit n'existe pas.

Jetez un oeil à /etc/auto_homeet /etc/autofs.conf.

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

AUTOMOUNTD_VERBOSE=TRUE

option dans autofs.conf, redémarrer automountd

sudo launchctl stop com.apple.automountd

et consultez le 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 ce problème, modifiez le fichier /etc/auto_masteret supprimez (ou hachez #) la ligne commençant par /home. Exécutez ensuite:

sudo automount -vc
Marek
la source
1
Merci, cela a également résolu mon problème et il était lié à Dropbox - j'avais des liens morts pointant vers /homemon dossier Dropbox (sauvegardes restantes des systèmes précédents) qui étaient à l'origine de ce problème. La désactivation /homedans auto_home l'a corrigé.
zzamboni
1

Pour moi, ce qui a vraiment résolu, c'était de débrancher le câble Ethernet de mon iMac. Aussi fou que cela puisse paraître :) J'étais attaqué de l'extérieur, bruteforce sur mon sshd. Le routeur que j'ai (de UPC, Cisco EPC3925) transfère par défaut tout le trafic de l'extérieur vers le seul port Ethernet dont il dispose. En débranchant le câble, l'attaque s'est arrêtée car l'iMac a été laissé sur le WiFi uniquement.

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

skrat
la source