opendirectoryed消耗40%的CPU


22

我有一台配备Lion 10.7.2、2.26 GHz CPU和2GB DDR3 RAM的MacBook Pro。

如果我打电话

top -o cpu

/usr/libexec/opendirectoryd进程消耗了40%以上的CPU。

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

在此处输入图片说明


@slhck /usr/libexec/opendirectoryd
juanpablo 2011年

Answers:


22

问题与Dropbox中失效的符号链接有关。使用以下命令查找它们:

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

解决方法是:删除无效的符号链接。如果find没有printf选项,请使用:

find -L ~/Dropbox -type l

参考文献

查找无效的符号链接


想知道您如何获得第一个find在OS X中与BSD一起使用的解决方案。您至少必须安装GNU findutils才能获得该printf选件。
slhck 2012年

我已经安装了findutils find --version 13:17 find(GNU findutils)4.4.2
juanpablo 2012年

好的,它不是OS X附带的,因此您使用的命令无法正常工作。
slhck

列出损坏的符号链接的find命令的BSD版本: find '~/Dropbox' -type l -print0 | xargs -0 file | grep broken
Piotr Czapla 2015年

11

如@juanpablo所述,这可能是由符号链接引起的。

显然,如果一个符号链接指向/home,autofs或automounted fire并占用大量CPU来确定该位置确实不存在。

看看/etc/auto_home/etc/autofs.conf

要查看您是否受到此特定问题的困扰,请设置

AUTOMOUNTD_VERBOSE=TRUE

中的选项autofs.conf,重新启动自动挂载

sudo launchctl stop com.apple.automountd

并查看syslog.log(您可以使用应用程序:控制台)。如果您看到类似以下的内容,则您会受到此问题的影响:

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

要解决此问题,请编辑文件/etc/auto_master并删除(或散列#)以开头的行/home。然后运行:

sudo automount -vc

1
谢谢,这也解决了我的问题,并且与Dropbox有关- /home我的Dropbox文件夹(以前系统的剩余备份)中指向某些死链接,这些链接导致了此问题。禁用/homeauto_home可以修复它。
zzamboni 2014年

1

对我来说,真正解决问题的方法是从iMac上拔掉以太网电缆。听起来很疯狂:)我受到了来自外部的攻击,sshd上的暴力破解。我拥有的路由器(来自UPC,Cisco EPC3925)默认将所有流量从外部转发到它拥有的单个以太网端口。通过拔下电缆,攻击停止了,因为iMac仅保留在WiFi上。

显然sshd使用的是opendirectoryd,这就是发生这种情况的原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.