Yosemite 中的 lsregister、msd 和 Dock 占用了大约 100% 的 CPU

Yosemite 中的 lsregister、msd 和 Dock 占用了大约 100% 的 CPU

7 天前,我在我的 2013 MBA 上升级到了 Yosemite,但 CPU 仍然在 2 个实例上达到最大负荷注册(一个是我的用户名,一个是root用户),一个实例骨髓增生异常综合征以及一个例子码头自安装以来。

当我尝试在 Spotlight 中查找应用程序(例如终端)时,找不到它们。

这正在缩短我的电池寿命 - 以前我可以使用大约 8 个小时,但现在我却只能使用 2 个小时。

答案1

lsregister使用启动服务数据库注册应用程序和库,并mds(元数据服务器)为 Spotlight 等元数据 API 的客户端提供服务。

尝试重建启动服务数据库:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -domain local -domain system -domain user

或者清除 Spotlight 索引:

sudo mdutil -Ea

您也可以尝试运行sudo lsof|grep lsregistersudo lsof|grep mds查看是否lsregistermds处理某些特定文件时卡住。

答案2

我关闭了 Spotlight(将所有驱动器添加到隐私或按照建议使用命令行)并运行以下命令:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -u -域本地-域系统-域用户-域网络

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -域本地-域系统-域用户-域网络

这立即将 CPU 使用率从 100% 降至几乎 0%。到目前为止,它似乎已经解决了我的问题。经过大量研究才最终解决了这个问题。

相关内容