优化 macOS Finder 卡顿技巧

3 min


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

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

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

关闭侧边栏中的 Recents

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

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

合理限制软件 Recents 数量

注:如果你在使用 LaunchBar,则建议将软件的 Recents 数量限制在 10 到 15 个,如果数量过多,则会干扰过滤文件。另,本文截图来自 macOS 13,如您使用 macOS 14,则 Recents 设置在 Control Center 设置下。

尽可能少用标签

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

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

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

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

我现在正在使用的标签仅几十个(截图来自 LaunchBar,方便呈现标签全貌)

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

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

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

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

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

避免在外置存储上开启 Spotlight

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

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

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

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

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

避免索引外置存储

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

小结

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

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


  1. 因此,任何基于 Spotlight 索引二次开发的文件搜索工具都是胡扯,既然 Spotlight 本身都不可靠,那么这些搜索工具必然会遗漏大量文件,个人认为,这种工具没有任何存在的意义。我仅在很多年前的文章中推荐过一次这类工具,那也仅仅是因为所涉工具解决了多文件夹搜索,而当我自己另行实现后,就再也没有留存这些搜索工具的理由了。

Like it? Share with your friends!

0
Anonymous

Choose A Format
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Video
Youtube and Vimeo Embeds