opendirectoryd 消耗 40% 的 CPU

opendirectoryd 消耗 40% 的 CPU

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

如果我打电话

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

在此处输入图片描述

答案1

该问题与 Dropbox 中的无效符号链接有关。使用以下方法查找它们:

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

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

find -L ~/Dropbox -type l

参考

查找无效的符号链接

答案2

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

显然,如果符号链接指向/home,autofs 或 automountd 就会触发,并耗费大量 CPU 来确定该地方确实不存在。

看一下/etc/auto_home/etc/autofs.conf

要查看您是否遇到了此特定问题,请设置

AUTOMOUNTD_VERBOSE=TRUE

选项autofs.conf,重新启动 automountd

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

答案3

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

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

相关内容