# Mole 的优化功能做了哪些事

> 按执行顺序介绍四项服务刷新和十七项维护，说明什么时候跳过、会清掉哪些内容，以及运行后怎么检查。

Published: 2026-10-09

Mole 的优化页把几类系统维护放在了一起，输入法切换不灵、文件预览有问题、卸载软件后还留着启动项，都有对应的处理。但有些操作也会清掉历史记录、重置设置，点击运行前，最好先了解它具体会处理哪些内容。

本文以 Mole 1.16.0 Mac App 中的「优化」功能为例，命令行版本的规则有所不同。整个过程先做四项服务刷新，再检查十七项维护任务，后面的项目各有条件，并不会每次都执行。

<figure class="blog-diagram blog-diagram-optimize">
  <picture>
    <source media="(max-width: 640px)" srcset="/img/blog/mole-optimize-flow-mobile-zh.svg">
    <img src="https://mole.fit/img/blog/mole-optimize-flow-zh.svg" width="840" height="650" loading="lazy" alt="Mole 优化流程：准备运行，先刷新四项服务，再按需准备权限。权限可用和未获得权限两条分支都进入后续十七项检查，普通任务继续，管理员任务需权限，最后汇总结果。">
  </picture>
  <figcaption>四项服务先刷新，后面的维护按条件执行。拒绝管理员授权，普通权限任务仍会继续。</figcaption>
</figure>

## 先刷新四项系统服务

如果其他任务还在运行，Mole 会先等它释放操作锁，再检查许可证，然后依次尝试刷新这四处：

- 输入法切换：重新启动输入菜单和切换相关的进程，中间可能短暂停顿。
- Spotlight：刷新搜索界面，搜索索引保留。
- 通知中心：刷新界面进程，通知历史在这一步保留。
- 通用剪贴板：刷新接力功能用到的服务，本机剪贴板和接力开关保持原样。

具体做法是结束匹配的系统进程，交给 macOS 重新启动。没有找到进程，或者没能结束它，就会记为未刷新。刷新后可以再试一下原来的操作，看看问题是否解决。

这四步做完，才会读取系统状态，按需准备管理员权限。已经配置好系统助手时，未必每次都要输入密码；拒绝授权后，普通维护任务仍会继续，需要权限的项目则会被跳过。

## 重建预览缓存，按需释放内存

接下来先重置 Quick Look 的预览组件，再重置缩略图缓存，并尝试清理三处指定的用户缩略图、图标缓存。这些操作要用到系统工具，工具不存在时会跳过；缓存之后还会重新生成。由于涉及多处独立缓存，即使整体显示完成，个别受限路径也可能未被清理。

内存缓存只在检查结果显示警告或严重内存压力时处理，需要管理员授权，压力正常就跳过。释放的缓存之后还会重新积累，也可能需要重新读取内容，释放缓存并不能保证让 App 变快。

## 整理历史记录和数据库

这部分依次检查四类内容，都会用到普通用户权限。

- 下载隔离事件历史：数据库存在、有记录，而且没有被保护时，删除其中的全部历史记录，再压缩数据库。下载的文件、文件上的隔离属性和 Gatekeeper 都保留。
- 邮件和信息数据库：只在对应 App 已退出、数据库小于 100 MiB、完整性检查通过，而且空闲页至少占 5% 时压缩。处理的是数据库内部的空闲空间，邮件和聊天记录本身不会被删除。
- 系统共享列表：检查指定的 .sfl2、.sfl3 文件，最近文档和受保护的系统列表会保留。校验失败时会尝试直接删除列表，留给系统随后重新生成，里面记住的内容可能丢失。目前校验超时等错误也会触发删除，被删除的列表未必都已损坏。
- 旧通知：用户通知数据库超过 50 MiB 时，清理其中三十天前的记录，压缩数据库，再尝试刷新通知中心。清掉的旧通知就看不到了。

数据库如果正在被占用，或是读取、写入出错，处理就可能失败。

## 清理旧规则、窗口状态和启动项

随后处理 Spotlight 的第三方规则。Mole 会让系统查找对应的 App，找不到就移除规则，Apple 和系统规则保留。这会修改搜索偏好，依赖的是系统的定位结果而非全盘深度扫描，未找到结果也不等于该 App 已经彻底卸载。

窗口恢复状态按文件夹的修改时间判断，超过三十天就直接删除。相关 App 随后可能无法自动恢复原先的窗口位置、布局或会话。这一步不会检查 App 是否正在运行。

失效的用户后台启动项会放进废纸篓。Mole 要先确认程序使用完整路径、所在宗卷已挂载，而且文件确实不存在；Apple 和受保护的管理、安全软件会跳过。宗卷未挂载、路径不明确或没有权限判断时，会保留原文件。移走启动配置后，已经运行的服务也不会在这一步被停止；若需恢复，前提是原文件仍在废纸篓中。

第三方偏好设置文件（.plist）若能读取却无法解析，且未受到系统保护或加入白名单，会被直接删除，不备份，也不进废纸篓，App 下次可能恢复默认设置。这一步不会要求 App 先退出，Apple、全局和登录窗口等受保护的偏好会保留。

「登录时打开」的项目需要管理员权限，有时还会请求自动化权限。确认所在宗卷已挂载、保存位置上的 App 已不存在后，Mole 才移除旧项目，再读一次列表确认。其他无法清掉的后台记录只会列出来，位置未知或无法访问的项目会保留。

还有两种以前留下的设置：禁用 App Nap，以及让磁盘镜像跳过验证。发现它们仍在启用时，Mole 会移除对应设置，让 macOS 恢复默认做法。

## 最后检查镜像、命令链接和权限

还挂着的磁盘镜像会尝试推出，镜像文件本身留下。只处理系统工具报告为只读、没有标记加密、挂载在用户宗卷目录（/Volumes）下的镜像，macOS 管理的镜像会跳过。没有标记加密不等于已证明未加密；读写状态无法判断时会保留。正在被占用的镜像若拒绝推出，Mole 不会强制推出。这一步也不看挂载了多久，刚挂载的镜像同样可能被处理。

接着检查四处固定的 Homebrew 和本地命令目录，找出目标已不存在的孤立符号链接。此项仅作检测报告，链接仍保留在原处，不会计为已修复；若目录无读取权限，则可能跳过检查。

如果用户主目录不属于当前账户，或者当前用户无法写入自己的 Library，Mole 会调用系统工具重置这个账户的目录权限，可能改变所有权和访问控制列表。这需要管理员权限，处理范围是当前账户，系统隐私权限需要另行设置。

最后是 macOS 自带的周期维护。系统工具可用，而且日常维护日志缺失、日期无法确定或超过七天时，运行每日、每周、每月维护脚本，需要管理员权限。近期已经维护过，或系统没有这套工具，就跳过，具体维护内容由当前 macOS 的脚本决定。

## 运行之后，再试一次原来的操作

结果里可以看到哪些完成、哪些跳过、哪些失败。跳过的原因可能是不需要处理、加入了白名单，也可能是访问受限，最好连同原因一起看。一项任务处理多个文件时，部分成功也可能显示完成；若个别任务失败，此前已完成的修改也不会自动回滚。

中途点取消，会停止后续步骤，当前已经开始的命令或文件批次可能还要继续一会儿，删掉的内容和改过的设置不会自动恢复。单个命令的超时也不是整次优化的时间上限。

若通过命令行版 Mole 的白名单排除了某些任务，十七项维护中有十三项会读取对应配置。前面的四项服务刷新，以及 Quick Look 的两项重置、镜像推出和命令链接报告，不受这份白名单控制。

最后再试一次刚才出问题的操作，比如切换输入法、打开预览，或者在同一组设备之间复制。如果 Mac 一直运行正常，不必每天点一次优化；觉得卡顿时，可以先看看[内存压力](https://mole.fit/zh/blog/mac-memory-pressure-explained)，再按[维护指南](https://mole.fit/zh/blog/how-to-run-mac-maintenance-safely)继续排查。虚拟机磁盘回收则在清理页，有单独的确认流程，不在这次优化里。

---

Canonical HTML page: https://mole.fit/zh/blog/what-mole-optimize-does
Blog index for agents: https://mole.fit/zh/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
