Mac中opendirectoryd进程占用大量CPU资源问题

最近使用使用Mac的过程中,经常会发现鼠标卡顿的现象,然后使用活动监视器,发现opendirectory进程占用CPU高达50%。

经过搜索,发现是因为Dropbox文件夹里有错误的symlinks造成的1。我首先关掉Dropbox,opendirectory进程的CPU占用率马上降下来了,确定Dropbox是造成问题的原因。

使用命令:

1
find '~/Dropbox' -type l -print0 | barges -0 file | grep broken

删除显示的失效symlinks,重启电脑。

重启后发现opendirectory不会一直占用了,但还是会波段地占用30%左右的CPU资源。

最后终于在Dropbox网站上找了原因2

如果知道您的 Dropbox 文件夹中有符号链接,删除这些符号链接可改善 Dropbox 桌面应用的性能。符号链接会引用 Dropbox 文件夹外部位置中的数据,因此 Dropbox 桌面应用可能会在尝试访问这些链接时卡住。

在终端输入以下命令:

1
find ~/Dropbox -type l -exec ls -lah {} \;

发现由于我在Dropbox文件内有一个Hexo的博客项目,里面有大量的软链接。

通过清除软链接,opendirectory占用CPU资源的问题终于解决了。


  1. http://superuser.com/questions/350879/opendirectoryd-consumes-40-of-cpu↩︎

  2. https://www.dropbox.com/help/9199↩︎