# 老电脑保命，新机器保健：如何缓解 Finder 卡顿

> 本文公开全文。

原文：https://utgd.net/article/20571

当我们说电脑卡顿时，有两种意思：一种是在执行特定任务时卡，例如打开 Chrome 卡、开启 Photoshop 卡或者渲染视频卡；另一种是持续卡顿，在 Finder 里随便点开一个文件夹都要等进度条转上几百个轮回，同事给你传一个文件更是会导致电脑宕机。前者就像过敏，一个人如果不去特殊环境或解除特殊物质，很可能一辈子都不会遭遇麻烦，甚至意识不到自己体质如何；后者则如同地方性疾病，不能回避，只能正面应战。

macOS 中最著名的地方顽疾，当属 Spotlight 索引，几乎任何能够让 Finder 都磕磕绊绊无法运行的问题都可归咎于此。而遭遇问题的人容易不见舆薪， 往往先试着关闭甚至卸载 Chrome、Microsoft Word 或微信这些耗能大户，就好像一个湿疹爆发而不止病因的人，丢掉所有的可疑家具并搞了大扫除却无济于事，其实真正的原因是结构性的：整个环境都出了大问题。

Spotlight 索引本身还挺有用，这一机制会持续在后台为文件创建索引，方便搜索。然而，Spotlight 索引从来没有稳定过，最夸张的一次，我分明自己都看见目标文件了，它却搜不出来。以我的经验以及在同事电脑上的测试，大概有几万个文件后，Spotlight 就完全不可靠了。Spotlight 本身不靠谱，大不了不用——我目前全靠 LaunchBar 和命令行搜索文件——但次生问题则严重得多，将直接导致电脑持续卡顿。Spotlight Index（“Spotlight 索引的英文”）搜索结果的前三条，一般是一条教你重建的（还是 Apple 官方的）、一条骂人的以及一条询问如何关闭的，其恶名可见一斑。

打个比方，读小学时你可能只有三五个朋友要联系——请原谅我来自上小学不能带手机的古老时代——几乎不存在联系人管理的问题；假设长大后进了咨询公司，客户资料就足足摆满了几面墙，公司甚至可能专门养了一个部门的人来管理这些材料。

Spotlight 就是好比那个不受欢迎的后勤部门，从来没把事儿做好过，还经常闯祸，却又不能解雇。

此病不可根治，只能通过种种方法缓解症状。

## 从 Recents 下手

如果只能记得一种方法，就是这个。

Recents（最近使用）是 Finder 的特殊机制，可以列出系统或某个软件最近使用过的文件。Apple 非常鼓励用户使用 Recents，乃至将其设为默认的 Finder 窗口。不难理解，一个人可能疏于整理文件，但循着 Recents 里的记录，理论上可以找到最近使用的任何文件——只要文件未被移除，或者 Spotlight 还没崩溃。

然而，Recents 给电脑带来的负担会线性上升，盖其可以一直追溯到你使用当前电脑的第一天，如果其间用系统迁移助手搬过数据，则继续向前追溯，压力更大；加之不少自动化工具和数据库软件会自动处理文件，这又给 Recents 雪上加霜。我在虽然个人付费栏目中曾推荐过 Recents，但当时还在读书，能折腾，换电脑很勤快，没有机会考验 Recents 的极限；如今一台机器连续用上五年，就连打开 Recents 都要去喝杯茶等待了。

如果你的电脑卡到连打开文件夹都要等很久，一定要试试关闭 Recents。方法：在 Finder——趁某次好不容易顺利打开的那短暂间隙——中，按下快捷键 ⌘Command\-, 打开设置页面，前往 Sidebar（侧边栏）标签页，取消勾选“Recents”。随后重启电脑，和可能有肉眼可见的提速。

我用此方法救活了周围朋友的四台电脑（数量正在不定期增加中）。

当然，关闭侧边栏中的 Recents，并不意味着彻底关掉 Recents 机制，macOS 还是会记录各个软件最近使用过的文件。这一途径更值得推荐，它既保留了访问最近常用文件的渠道，也不至于过分消耗资源。不过，单个软件的 Recents 也应当限制一下数量，具体情况还是依据各人电脑状况，量力而行。软件 Recents 数量可在系统设置“Desktop & Dock”项下的“Menu bar”一栏中调整。

## 尽可能少用标签

除了 Recents，另一方面的压力来自标签。貌似轻巧的标签，其实会给系统施加极大压力。标签虽然是文件属性之一，但并非天然属性，而是 macOS 引入的特殊机制，隔壁的 Windows 则至今不支持这一机制。由于这几年 All in One 信息管理工具的持续营销，不少人认为标签已足以替代文件夹，从而大量创建标签；我自己陆陆续续用过的标签也有上千个，今年国庆前整理时发现还剩八百多个。标签看似是一笔宝贵的财产，记录了阅读和工作的足迹，其实多为绊脚石，因为绝大多数标签，根本不看也不用，主要的功能，只剩拖垮电脑。

少用标签就能缓解电脑卡顿，此事不难理解，关键是许多人可能无法接受少用乃至不用标签。其实，我在拙作《信息管理，文件为本位的方案》中，就主张标签是临时的。我把标签分为描述性标签和指示性标签，前者用于描述文件信息，后者用于指示任务进度，而一旦你足够熟悉一个领域、已经完成一系列工作，那么两类标签都可以移除。后一类紧随任务的指示性标签，应当不用解释；前一类描述性标签，仔细一想，其实事后往往也用不上，例如，我在读书时只接触过关于 惩罚性赔偿 的三五个案例，如今当了律师，档案库里有上百个相关案例，再用 惩罚性赔偿 这枚标签，颗粒度就太粗糙，搜了和没搜一样，无助于搜索文件了。

我现在仍然同时使用描述性标签和指示性标签，但仅用于我不熟悉的领域，比如做菜，因为我不专业，就只好先打一堆标签，从菜系、原料、手法等维度粗粗勾勒手头的食谱，但假以时日，这样粗颗粒的标签肯定也会谢幕。

方法：在 Finder 设置的标签一栏下，批量选中并删除无用的标签。请勿在 Finder 中直接删除，因为无法批量操作，太浪费时间。另外，如果你有 DEVONthink，还需要手动清除一下其中的标签；如果在 LaunchBar 和 Alfred 等工具中关联过标签，也请重启相关工具以更新数据。

当然，“标签必死”这样激烈的断言，我没什么兴趣大力发声，毕竟很难把自己十几年的经验一股脑儿塞给别人——写本文时没打算写，可惜我还是忍不住写了。读书时，老师总是苦口婆心劝导要“先把书读厚，再把书读薄”，结果不少人还反唇相讥：那不是到头来白忙活吗？对于这类看不见过程的人，有一首打油诗的下半首很适合送上，但不太文雅，故我只放上半首：

> 天上下雪不下雨，雪到地上变成雨，未如开始就下雨。

## 不用的文件尽快打包压缩或转移

缓解 Spotlight 的压力，最好是多管齐下，前两节旨在减少索引的生成，本节则转向及时排毒：将不用的文件打包压缩，或者转移到外置存储，既保留原始文件，也避免 Spotlight 继续为难自己（Spotlight 不会索引压缩文件中的内容）。

这套归档习惯是 @沨沄极客 前几年告诉我的，我很庆幸读书时就有人指点，因为我读的是文科，缺乏和海量数据交手的经验，以前从未意识到放着不用的文件还会拖累电脑。而沨沄极客是工程师，拥有我当时不具备的归档习惯和思维。

## 避免在外置存储上开启 Spotlight

最后一条建议是：如无必要，则避免让 Spotlight 索引外置存储。

若是性能极佳的移动硬盘倒也无妨，但如果是U盘甚至披着读卡器的存储卡，其读写速度通常非常糟糕，而 Spotlight 又会默认为整个存储建立索引，从而导致连打开U盘或存储卡都非常卡顿。这就像一条本来就窄的走廊，你作为主角还没挤过去，整个不那么紧急的后勤部门（Spotlight）倒是先霸占了所有走道空间。

如果你的电脑平时很流畅，但一插上外置存储就开始卡顿，几乎可以断定，是 Spotlight 在调兵强攻外置存储。

一般而言，外置存储可能只是一个定期备份，我们不会在其中频繁读写，更不会在外置硬盘中深度搜索，因而 Spotlight 不仅多余，而且有害——要是 SanDisk 这种读写稍微频繁就直接锁死报废的垃圾货色，很可能连盘带数据全部损毁。

方法：先把想要屏蔽的外置存储接入电脑，然后移步系统设置，找到“Siri & Spotlight”，拉到最底下，点开“Spotlight Privacy…”，在弹出页面中将目标外置存储添入其中，Spotlight 以后就不会骚扰此地。

撤走 Spotlight 后，外置存储的访问速度将明显提升，打开有上千个文件的文件夹，也仿佛在浏览电脑内置数据，而我测试的还是五十块钱的国产U盘和TF卡。

## 小结

落笔之前，我早已料到，以关闭一部分功能为代价换来更流畅的访问速度，此类思路容易引起反感，很可能被批评“不如直接关机”。但一个功能的存在并不意味着合理，尤其不意味着对所有人都合理，Spotlight 天生不稳定，而使用者的工作越是沉重，它越是不可靠，此时就要考虑丢车保帅。

某种程度上，本方案仍然是头痛医头、脚痛医脚，类似于放血疗法，并未从根本上解决 Spotlight 索引问题，在极端情况下，如果你的电脑上有十亿个经常访问的文件——搞科研的人很可能有那么多细碎文件——那么完全无药可救，或许唯一的办法是告别 macOS。

---

[前往标准阅读页](https://utgd.net/article/20571?audience=web)
