拆机清灰之后,mds_stores 进程的 CPU 使用率居高不下。在网络上查询后得知,该进程为 Spotlight 的工作进程。接着又寻找原因及解决方案,并学习了 mdutil 命令的使用,遂此总结。

前言

2020 年,我买了一个二手的 NUC8i5BEK,安装了黑苹果。买来时就没有清灰,一直使用到现在,已经快两年了。最近风扇总是暴走,晚上觉得太吵,于是拆开清灰。

重启后,CPU 占用率居高不下。在活动监视器里定位到是 mds_stores 及其伙伴进程在疯狂工作。

在网络资料的指引下,我关闭了索引,CPU 占用问题得到解决,但 Spotlight 只能够搜索已经索引到的内容,有很多内容搜索不到。

进一步查阅资料,发现此问题可以通过主动重建索引来解决。

当我在写这篇文章时,索引仍在重建中。我决定趁此机会把了解到的分享出来,以助来者。

mdutil 命令

macOS 上的 mdutil 命令用于管理 Spotlight 的索引。下面是它的使用介绍,我截取了本文使用到的部分,并作了翻译:

命令格式: mdutil -pEsa -i (on|off) -d volume … -i (on|off) 打开/关闭索引 -E 清除并重建索引 -a 应用命令到所有的数据卷

关闭索引

执行下面的命令会关闭所有数据卷的索引:

sudo mdutil -a -i off

注意,关闭索引仅仅意味着 macOS 不再索引数据卷上的新增内容,不会清除已建立索引,更不会关闭 Spotlight 功能。因此,你仍然可以使用 Spotlight 搜索到之前已有的内容。

打开索引

执行下面的命令会打开所有数据卷的索引:

sudo mdutil -a -i on

重建索引

执行下面的命令会重建所有数据卷的索引:

sudo mdutil -a -E

在索引重建时,如果你使用 Spotlight 搜索内容,你会看到输入框下方有一个进度条,你可以根据它预估索引完成的时间。

在我的 NUC8i5BEK 中,重建索引需要大约 30 分钟的时间。

注意,只有在索引是打开状态时,改命令才有效。如果已经关闭了索引,则改命令只是为所有数据卷添加了“重建”的标志,待打开索引后才会真的开始重建。

后语

关于我的问题,我选择了关闭索引后,执行重建索引,然后重新打开索引。

现在索引已经重建完成了,CPU 使用率恢复正常(静置状态下使用率百分之几)。

如果你有遇到和我相似的问题,你可以参考我的步骤。

如果你只是想要重建部分索引,mdutil 命令支持粒度更小的操作,你可以在 参考 部分自行学习。

如果你不想再使用 Spotlight,你也可以考虑其他启动器类的软件,如 Alfred、uTools、Raycast 等。

需要注意的是。这些替代软件的文件搜索功能依赖于 Spotlight 索引,因此,如果你希望保留文件搜索功能,就不要关闭 Spotlight 索引。相反,如果你不需要搜索文件,你完全可以关闭 Spotlight 索引,然后使用第三方的启动器软件,体验更多更酷的功能。

参考


本文使用 CC BY-SA 4.0 国际协议 进行许可,欢迎 遵照协议规定 转载。
作者:六开箱
链接:https://lkxed.github.io/posts/mac-os-spotlight/