# Mac 最佳化工具：一個詞底下的三件事

> 回收容量、移除常駐負載、修好壞掉的行為是三個互不相干的問題，要用互不相干的工具；哪一款誠實地服務哪一件，以及沒有任何最佳化工具動得了硬體的哪些部分。

Published: 2026-08-19 | Updated: 2026-08-22

「最佳化」這個詞底下賣的是三件互不相干的事，那麼多最佳化工具用起來什麼都沒變，原因就在這裡。一件是儲存空間問題，一件是有東西沒經你同意就在跑，一件是某個子系統壞了要修。三者症狀不同、機制不同、工具也不同，在一台健康的 Mac 上把三件事全跑一遍，很有機會讓它變得更慢。所以先分類，用機器上本來就有的軟體，幾分鐘就分得清自己碰到的是哪一件。

## 共用一個詞的三件事

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/optimization-three-meanings.webp" width="1360" height="454" loading="lazy" alt="「最佳化」一詞拆成三件事：在快滿的磁碟區上回收容量、移除登入項目和 launchd agent 這類常駐的背景負載、修好像過期的 Spotlight 索引這種故障的子系統">
  <figcaption>這三件事只共用一個行銷詞彙，其餘毫無關係。跑錯那一件，花掉時間也換不到東西。</figcaption>
</figure>

**回收容量**其實是儲存問題，只是看起來像效能問題。Mac 慢不是因為它髒，是因為 macOS 為了滿足每一次寫入都得多做工。

**移除常駐負載**講的是那些你沒打開、卻已經存在的行程：登入項目、背景輔助程式、launchd agent、更新程式、瀏覽器的輔助行程。收益是真的，但有上限，快的是登入和待機耗電，不是尖峰速度。

**恢復正確行為**指的是修復：重建 Spotlight 索引、清 DNS 快取、重設卡住的預覽快取。它們修的是某個子系統答錯了，不是加速，所以在一台正常的 Mac 上跑它們是純虧。

## 容量：看著像效能，其實是儲存

APFS 是寫入時複製。改一個檔案不會就地覆寫它的區塊，而是配置新的區塊再把中繼資料指過去，所以編輯一個大檔案，即使檔案沒有變大也需要空閒區塊。快照存在的期間，舊區塊會一直被引用著。macOS 另外還要留位置給交換空間、暫存檔，以及一份完整的系統更新暫存副本，這就是為什麼一個磁碟區的空閒空間明明比下載檔還大，更新卻可能裝不下去。

空間一緊，配置就不再是瞬間完成的，因為系統會先回收：逐出快取、變薄符合條件的快照、清掉最佳化過的雲端內容。這些都是實實在在的 I/O，而且要在寫入完成之前先做完。快閃記憶體在底下又加了一層，它抹除的單位遠大於寫入的單位，空閒區塊一少，控制器得先把有效資料整併起來才抹得掉。這一層在 macOS 裡看不到，把它當成「別長期貼著容量上限過日子」的理由就好。

到處都在說要留 10%、15% 或 20% 的空間。這幾個數字沒有一個是 Apple 的規格，Apple 也沒有公布自己那句「開機磁碟快滿了」是按什麼條件跳出來的。比百分比誠實的講法是一份配額：留得下你日常會做的最大一件事，對多數人來說就是一次 macOS 更新的暫存。

```
df -h /
diskutil info / | grep -i "Container"
```

把數字記下來，改一件事，再讀一次。判準是那件原本失敗的工作現在成不成，不是那個比例。在 [Mole](https://mole.fit/) 裡做同一件事的是 Analyze，它把磁碟區畫成方塊圖，吃掉空間的東西是一塊有大小的矩形，不是一個猜測，接著用 Clean 處理它叫得出名字的快取候選。手動路線見[找出大檔案](https://mole.fit/tw/blog/how-to-find-large-files-on-mac)。

## 常駐負載：你沒打開它，它卻在跑

這裡有四類東西常被混成一類：設定成登入時開啟的 App、透過 Service Management 註冊的背景項目、自帶 plist 的 launchd agent 與 daemon，以及 App 自己生出來的輔助行程，比如瀏覽器為每個網站開的算繪行程。

### 為什麼「我明明關掉了它又回來」是正常的

launchd 不會讓每個背景工作一直跑著。多數工作它只登記一個條件然後等：socket 連線進來、被監看的路徑有變動、收到一個 XPC 請求、或者時間到了。條件觸發時 launchd 才啟動它，工作閒下來就允許它結束。所以正在跑的那一組整天都在變，強制結束其中一個行程，只代表它下次被觸發時再起來一次。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/launchd-on-demand.webp" width="1360" height="454" loading="lazy" alt="launchd 居中，隨著連線、檔案變動、XPC 訊息這些觸發條件到來而按需啟動小型服務，閒置後又讓它們結束，所以正在跑的那組服務一直在變">
  <figcaption>按需啟動是設計，不是症狀。真正的開關是那筆讓它可被啟動的登記，不是你剛剛殺掉的那個行程。</figcaption>
</figure>

所以殺行程不是最佳化。去**系統設定 › 一般 › 登入項目與延伸功能**把那一項關掉，或者在所屬 App 的設定裡關掉，再測一下它原本提供的功能還在不在。

### `launchctl print-disabled` 到底顯示了什麼

```
launchctl print-disabled gui/$(id -u)
```

```
disabled services = {
	"com.raycast.macos.RaycastLauncher" => enabled
	"com.apple.Siri.agent" => disabled
	"ddddxxx.LyricsXHelper" => enabled
}
```

標題雖然那樣寫，這並不是一份被停用的服務清單。它是單一 launchd 作用域的持久覆寫資料庫，哪個標籤被明確設過啟用或停用、設的是哪一個，它都記著。多數條目寫的是 `enabled`，而沒出現的標籤只是沒有記錄過覆寫，跟「沒有安裝」是兩回事。

所以它回答的是「我或某個 App 明確關掉了什麼」，不是「現在有什麼在跑」。`launchctl print gui/$(id -u)` 才是目前使用者作用域的唯讀檢視，而裡面的服務標籤不一定對得上檔名或 App 名稱，所以永遠不要從行程名反推一個 plist 再刪掉它。完整流程見[關閉開機啟動項目](https://mole.fit/tw/blog/how-to-disable-startup-programs-on-mac)。

對收益要誠實。關掉四個閒著的輔助程式，換來的是登入快一點、待機耗電低一點，不是更快的編譯，而備份代理或同步用戶端通常值得它吃掉的那點資源。

## 修復：把行為修對，不是加速

下面每一項各修一個具體的錯誤答案：

- **重建 Spotlight 索引**修的是「搜尋找不到本來該找到的檔案」。先用 `mdutil -s /` 看狀態，整份重建要耗掉數小時的 CPU、發熱和電力，換回來的只有正確的搜尋結果。
- **清 DNS 快取**修的是壞掉的 DNS 伺服器或一次 VPN 切換之後留下的過期解析結果：`sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder`。它不會重建路由表，清路由影響範圍大得多，可能把正在用的通道或系統代理直接弄斷。
- **重設卡住的預覽快取**修的是預覽畫面顯示錯誤，代價是接下來幾次預覽在重新填快取時會比較慢。

沒有一項能讓健康的 Mac 變快。對著一個叫得出名字的症狀跑其中一項就好，把整組排進定期任務的，賣的是儀式。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/en/optimize.webp" width="2584" height="1741" loading="lazy" alt="Mole 正在執行一輪維護，每個步驟都有名字並逐項打勾，計數器顯示二十三步中的第十步進行中">
  <figcaption>一輪修復應該把每個步驟都叫出名字，並報出略過了什麼、為什麼略過。一段成功動畫什麼也告訴不了你。</figcaption>
</figure>

[Mole](https://mole.fit/) 的 Optimize 把這些收成一輪能逐項審核的維護，略過了哪一項、為什麼略過都會報出來，包括 VPN 或系統代理啟用時它拒絕執行的網路操作。一個附理由的略過，勝過一個藏起了決定的勾。

## 最佳化不可能做到的事

沒有軟體加得出記憶體，Apple 晶片用的是出廠就焊死的統一記憶體。沒有軟體解得開溫度上限，晶片一熱就自己降頻，而 `kernel_task` 佔用飆高正是 macOS 刻意在逼它降。也沒有軟體修得好快閃記憶體的耗損，或者讓 CPU 每秒跑出比出廠設計更多的指令。

最佳化工具至今還在靠記憶體這個說法，而它整個是反的。macOS 會拿檔案快取把沒用到的記憶體填滿，程式一需要空間就立刻釋放，所以「已使用記憶體」數字很高，正是系統運作正常。真正能預測 Mac 用起來順不順的數字是**記憶體壓力**，而動用交換空間也不是故障，記憶體很寬裕時，核心一樣會把長時間沒被碰過的分頁寫出去。記憶體清理工具丟掉的是系統花成本建起來的快取，所以那個數字好看了，接下來幾分鐘變慢了，[記憶體壓力是什麼](https://mole.fit/tw/blog/mac-memory-pressure-explained)講的就是這件事。

## 先診斷，再挑工具

把症狀重現出來，趁它正在發生時取數字，事後補拍的快照證明不了任何事。容量看 `df -h /`，CPU 被誰吃掉看 `top -o cpu`，記錄下來的溫度狀態看 `pmset -g therm`，再加上「活動監視器」裡的記憶體壓力圖，那張圖沒有同樣好讀的命令列版本。然後拿看到的東西對這張表：

| 你看到的 | 屬於哪一件 | 該做什麼 |
|---|---|---|
| 剩餘空間很少，存檔和更新都卡 | 容量 | 刪掉真正的資料，不是快取 |
| 登入很慢，冒出沒見過的輔助程式，閒置時 CPU 靜不下來 | 常駐負載 | 逐個所有者審登入項目和背景項目 |
| 搜尋結果錯、預覽壞掉、網域解析是舊的 | 修復 | 只跑對應的那一項，然後停手 |
| 做一般事情時記憶體壓力就黃或紅 | 三件都不是 | 加記憶體，或換輕一點的工作負載 |
| CPU 被某個叫得出名字的行程佔滿 | 三件都不是 | 去處理那個工作負載 |
| `kernel_task` 很高，機器很燙 | 三件都不是 | 散熱或工作負載，永遠不是軟體 |

六列裡有三列的結論是「最佳化工具幫不了你」。[Mole](https://mole.fit/) 的 Status 分頁是把上面那些數字組裝好的版本：大約九塊面板，涵蓋健康度、CPU、記憶體、GPU、磁碟 I/O、網路、電池、溫度與風扇、開機時長，每塊配一條 60 秒的走勢線，下面是每秒更新一次的行程列表。60 秒不是保存下來的歷史，它也沒有假裝自己是。

## 這些工具各自服務哪一件事

### Mole，還不確定是哪一件的時候

[Mole](https://mole.fit/) 是這裡唯一三種意思都涵蓋的工具，更有用的是它把三件事分開放，而不是揉成一個按鈕。Clean 管容量，Software 管 App 和開機啟動項目，Optimize 管修復，Status 回答到底有沒有問題。

容量這一塊，順序比總數重要。Clean 先掃完，任何東西動之前先把每個候選的精確路徑、所有者和大小攤開，沒把握的一律預設不勾，所以預設動作永遠是比較小的那個。一般刪除走垃圾桶而不是直接解除連結，弄錯了是從垃圾桶拖回來，不是從備份還原，每次檔案操作都寫進 `~/Library/Logs/mole/operations.log`。真正的工夫在保護清單：`~/.ollama/models`、`~/.lmstudio/models` 和 `~/.cache/huggingface` 永遠不會成為候選，因為這些工具管的是共用的內容定址資料塊，只有它們知道哪一塊還被引用著。`~/.codex/sessions` 和 `~/.claude/projects` 底下的工作階段紀錄，放多久都不動。

常駐負載這一塊，Software 分頁把已裝 App、更新狀態和開機啟動項目放在同一個畫面，一個項目要能對上已驗證的 launchd 工作或系統註冊的登入項目，它才動手切換。證不了的一律把你導去系統設定，而不是去寫一個受保護的資料庫，或者自己編一個服務標籤。

實際用起來：先讀 Status 那幾塊面板，再打開對應的分頁。磁碟滿了就 Clean，登入慢就 Software，搜尋或預覽壞了就 Optimize。

Mole 的邊界講白了：不處理惡意軟體，不是備份，遇到帶驅動程式、VPN 元件或系統延伸功能的軟體，也取代不了原廠的解除安裝程式。

一次 $19 買斷，終身免費更新，一組授權兩台 Mac，需要 macOS 14 以上，14 天內可退款。掃描永遠免費，每個付費功能還能免費用兩次，所以上面這些說法你都可以先驗過再付錢，而且全部在本機執行，不回傳遙測。終端機裡的 [Mole CLI](https://github.com/tw93/Mole) 以 GPL-3.0 開源免費，`brew install mole` 裝好，每個具破壞性的指令都吃 `--dry-run`。

### iStat Menus，長期盯著負載和容量

Bjango 的 [iStat Menus](https://bjango.com/mac/istatmenus/) 三件事一件都不做。它告訴你碰到的是哪一件，而且在這方面它挖得最深：逐核心 CPU 加歷史圖、記憶體用量與壓力、壓縮記憶體與交換空間、磁碟空間與活動加 S.M.A.R.T. 狀態、按 App 拆開的網路流量、各種感測器、電池狀態。7.3 版需要 macOS 11 以上。它以買斷方式賣，分單人版和家庭版，有限時試用，也上架 Setapp，實際條款以官網頁面為準。

歷史圖和按 App 拆開的流量對應的是第二件事，一個整夜安靜佔著網路的 App，只有在這裡看得見。它不清理、不解除安裝、也不修任何東西，這種專注本身就是優點，[iStat Menus 之外](https://mole.fit/tw/blog/istat-menus-alternative)把這件事講完整了。

### Sensei，看硬體健康度，順帶附清理

Cindori 的 [Sensei](https://cindori.com/sensei) 站在診斷和容量之間。它的頁面寫著 CPU、GPU 和電池統計、溫度與風扇監控、S.M.A.R.T. 硬碟健康度、電池循環次數、磁碟速度測試、SSD Trim 開關和選單列監控，另外附上清理和 App 解除安裝功能。它的[商店頁](https://cindori.com/store/sensei)提供年度訂閱和買斷授權，兩種都最多三台 Mac，沒有標示最低的 macOS 版本。重點是硬碟和電池健康度的時候，可以考慮它，適配情況在 [Sensei 之外](https://mole.fit/tw/blog/sensei-alternative)講得更細。

### TG Pro，專門回答溫度這一題

Tunabelly Software 的 [TG Pro](https://www.tunabellysoftware.com/tgpro/) 是這裡讀得最廣的感測器工具：Apple 晶片的逐核心 CPU、GPU、走 S.M.A.R.T. 的儲存裝置、電池健康度，以及各機型不同的主機板感測器，另外還有依溫度觸發的 Auto Boost 規則、警示、CSV 紀錄和診斷報告。它標示支援 macOS 10.13 到 macOS 26，買斷制，它的 [FAQ](https://www.tunabellysoftware.com/support/faq/) 寫明一組授權個人使用最多三台 Mac，2.x 的更新一直是免費的。

它回答的是三件事都沒涵蓋的一題：Mac 如果是因為太燙才慢，再怎麼清理、再怎麼砍開機啟動項目都改變不了。風扇控制要經過一個特權輔助程式，這個權限要想清楚再給。

### OnyX，點名執行的修復操作

Titanium Software 的 [OnyX](https://titanium-software.fr/en/onyx.html) 免費並接受贊助，直接服務第三件事，把維護做成一個個明確的開關而不是一堆建議：驗證系統檔案結構、清理、解除安裝應用程式、刪快取、重建資料庫與索引，以及設定 Finder、Dock、Safari 和 Apple 自家的應用程式。它每個 macOS 大版本各出一個版本，也講得很直白：「每個主要作業系統版本都有對應的 OnyX 版本。請使用正確的版本，不要拿為舊系統準備的版本來用。」只執行你叫得出名字的操作。

### 活動監視器，多數人該先試的免費基準

Apple 的[活動監視器](https://support.apple.com/guide/activity-monitor/welcome/mac)涵蓋 CPU、記憶體、能源、磁碟、網路和快取活動，是這台機器上行程狀況最權威的一份檢視。第一件和第二件事的診斷，它一個人就能收尾：記憶體分頁有壓力圖，CPU 分頁指得出是哪個行程，能源分頁揪得出閒置時還在耗電的輔助程式，磁碟分頁在卡頓當下顯示 I/O。

它差在組裝，不差在能力。它是一個要開起來讀的視窗，不是瞄一眼就懂的東西，也不會把資源庫裡某個隱藏資料夾歸給某個所有者。任何準備買最佳化工具的人，都該先在這裡花十分鐘，它不花錢就能定出你碰到的是哪一件事。

## 快速對照

| 工具 | 服務哪一件事 | 授權（以官網現行條款為準） |
| --- | --- | --- |
| Mole | 三件都做，而且分開 | 買斷，兩台 Mac |
| iStat Menus | 診斷，帶保存的歷史 | 買斷，單人版或家庭版 |
| Sensei | 硬體健康度加清理 | 訂閱或買斷，3 台 Mac |
| TG Pro | 溫度與感測器深度 | 買斷，3 台 Mac |
| OnyX | 修復，逐項點名 | 免費，接受贊助 |
| 活動監視器 | 診斷，只有即時值 | macOS 內建 |

## 常見問題

### Mac 最佳化工具真的有用嗎？

誠實的那幾款會把一件有邊界的事做好。釋放容量有用，因為儲存空間是真的限制；移除常駐負載省的是登入時間和閒置耗電；修復則在東西壞掉時有用。沒用的是多數行銷底下那句承諾：對一台沒毛病的 Mac 掃一遍就會變快。

### Mac 該留多少可用空間？

沒有官方數字，你讀到的每個百分比都是某個人的經驗法則。有用的版本是配額而不是比例：夠一次完整的 macOS 更新暫存，再加上日常負載下交換空間要用的餘裕。改動前後各用 `df -h /` 量一次，判準是那件原本失敗的工作現在成不成。

### 一款 App 關掉之後一直自己起來，是惡意軟體嗎？

幾乎都不是。launchd 多數背景工作都是靠觸發條件啟動、閒置後結束的，所以你把行程關掉，那筆登記還在。與其殺行程，不如去「登入項目與延伸功能」或所屬 App 的設定裡把它關掉，先用[關閉開機啟動項目](https://mole.fit/tw/blog/how-to-disable-startup-programs-on-mac)認出所有者。

### 為了效能重建 Spotlight 索引值得嗎？

不值得。重建只修錯誤或缺漏的搜尋結果，別的什麼都不修，代價是數小時的背景索引，跑的過程中 Mac 還更慢。動手之前先看 `mdutil -s /`，把排除項目和隱私權設定排查掉，而且永遠不要把它排進定期任務。

## 接下來看哪裡

還是不知道是哪個資源被吃滿，[Mac 為什麼變慢](https://mole.fit/tw/blog/why-is-my-mac-so-slow)按順序走一遍各個瓶頸。讓你不安的是記憶體那張圖，[記憶體壓力是什麼](https://mole.fit/tw/blog/mac-memory-pressure-explained)講清楚為什麼「已使用記憶體」是看錯了數字。答案是常駐負載，[關閉開機啟動項目](https://mole.fit/tw/blog/how-to-disable-startup-programs-on-mac)那套流程不會弄壞同步、備份或 VPN。

---

Canonical HTML page: https://mole.fit/tw/blog/mac-optimization-apps
Blog index for agents: https://mole.fit/tw/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
