# Mac 記憶體壓力：黃燈、紅燈與 Swap

> 正確讀記憶體壓力圖：為什麼佔用高不一定有問題，以及 swap、壓縮與 page-ins 何時代表真缺 RAM。

Published: 2026-08-11 | Updated: 2026-09-12

打開 活動監視器，點選「記憶體」，大多數人第一眼看的數字是
**已使用記憶體**。這個數字幾乎總是偏高。在 48 GB 的 Mac 上，開著瀏覽器和編輯器，它就會穩穩停在 40 GB，看起來像是要解決的問題。

通常不是。macOS 會把你花錢買的 RAM 用起來，因為閒置的記憶體什麼忙都幫不上：系統會用檔案快取把它填滿，並把最近用過的頁面留在記憶體裡。Mac 是不是真的缺記憶體，要看同一個視窗底部的 **記憶體壓力** 圖表，通常它還是綠色，「已使用記憶體」卻已經看起來很嚇人。

**簡短結論：** 別管「已使用記憶體」，去看記憶體壓力圖。只要是綠色，RAM 計量幾乎全滿也不是問題，沒什麼好修。若是黃色或紅色，下面三個計數器會告訴你原因。

## 為什麼「已使用記憶體」本身不能判斷問題

macOS 會主動利用閒置記憶體，但要分清楚活動監視器裡的項目。[Apple 的記憶體指南](https://support.apple.com/guide/activity-monitor/actmntr1004/mac)將它們定義為：

| 項目 | 是什麼 | 要不要擔心 |
|---|---|---|
| App 記憶體 | App 已配置並正在使用的頁面 | 只有單一 App 明顯異常時才要 |
| 有線記憶體 | 核心無法換出的頁面 | 很少能直接處理 |
| 已壓縮 | 為騰出空間而壓縮、仍在 RAM 裡的頁面 | 少量正常，持續快速成長才是訊號 |
| 快取的檔案 | 因有空間而保留的檔案資料 | 本身不用擔心 |

**已使用記憶體**由 App 記憶體、有線記憶體與已壓縮記憶體組成。**快取的檔案**會分開顯示，它占用原本閒置的 RAM，系統需要時可以覆寫。因此，一台健康的 Mac 可以同時顯示很高的已使用記憶體與大量快取檔案，卻不代表缺少 RAM。

## 改看壓力

記憶體壓力圖是 macOS 自己對「能不能在不傷效能的前提下滿足配置」的摘要：

- **綠色。** 請求都從空閒或可回收記憶體滿足。不管「已使用記憶體」多高，都不用做任何事。
- **黃色。** 系統正在壓縮、清出頁面以求跟上。還在運作，但餘裕沒了，再來一次大配置就會有代價。
- **紅色。** 配置在等記憶體先被釋出。彩色轉圈、App 切換變慢，就是從這裡來的。

也可以從命令列讀：

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/memory-pressure-flow.webp" width="1360" height="454" loading="lazy" alt="App 配置會先使用可用記憶體，接著 macOS 回收檔案快取、壓縮不活躍頁面，最後在記憶體壓力升高時把頁面換到磁碟。">
  <figcaption>記憶體壓力描述滿足下一次配置要付出的代價，單看已使用記憶體看不出這個代價。</figcaption>
</figure>

```
memory_pressure
```

值得看的是最後一行：

```
System-wide memory free percentage: 74%
```

同一條指令也會印出推導這個百分比的原始計數，包含頁面數量和交換空間活動，想要證據而不是顏色時很有用。

## 顏色背後的三個訊號

壓力是黃或紅時，三個數字會解釋原因。要一起看，因為單看任何一個都可能誤導。

**已使用的交換空間。** 已移到磁碟上的記憶體頁面，不代表目前一定放不下。

```
sysctl vm.swapusage
```

```
vm.swapusage: total = 6144.00M  used = 4568.19M  free = 1575.81M  (encrypted)
```

交換空間不是零，本身不算故障。就算記憶體還很寬裕，macOS 也會把很久沒碰過的頁面換出去，在 SSD 上代價很小。真正的訊號是交換空間又大、*而且* 你工作時還在持續長大。

**壓縮活動。** 寫到磁碟之前，macOS 會先在 RAM 裡壓縮頁面。

```
vm_stat | grep -i compress
```

```
Pages stored in compressor:                  1945157.
Pages occupied by compressor:                 389440.
Decompressions:                             82848340.
Compressions:                              163587315.
```

使用 Mac 時 Compressions 爬得很快，代表系統在搶空間。開機好幾週的機器上，歷史總量很大本身沒有意義。

**負載下的 page-in。** 你感覺到的停頓，就是把頁面從磁碟讀回來。一台 Mac 同時在壓縮、交換、又 page-in，就是典型的彩色轉圈狀態。

## 找出是哪個 App

把 活動監視器 的「記憶體」分頁依「記憶體」欄排序，看最上面幾列就好，不用整份清單。答案通常是下面四種之一：

- **開了很多分頁的瀏覽器。** 每個轉譯器都是獨立行程，所以瀏覽器的總量會拆到很多列。Chrome 自己的工作管理員在「視窗」選單底下，可以把記憶體對到個別分頁和擴充功能。見
  [Chrome Helper 佔用大量 CPU 與記憶體](https://mole.fit/tw/blog/google-chrome-helper-high-cpu-mac)。
- **虛擬機器或容器執行環境。** 這類東西會先預留記憶體，所以數字是設定選擇，不是外洩。
- **長時間開著的創作或開發 App。** 記憶體在一次使用過程中穩定往上長、再也回不來，值得回報給開發者。
- **不認識的行程。** 殺掉之前先確認它是什麼，見
  [如何調查不熟悉的行程](https://mole.fit/tw/blog/mac-processes-explained)。

結束這個 App。系統還應付得來時，只因為某個行程佔得多就強制結束，會丟掉未儲存的工作，什麼也賺不到。

## 沒用的做法

- **記憶體清理 App。** 釋放記憶體等於丟掉系統刻意建好的快取。RAM 計量看起來比較好看，所有東西再讀回來的那段時間，Mac 反而更慢。
- **定期跑 `sudo purge`。** 它會清掉檔案快取，本來是給基準測試用的，同一個錯誤換成指令形式。名字雖然像，但跟磁碟上的可清除空間毫無關係，見 [可清除空間](https://mole.fit/tw/blog/what-is-purgeable-space-on-mac)。
- **關掉馬上又要重開的 App。** 哪些閒置 App 該壓縮，macOS 比任何例行手續都判斷得好。
- **關閉交換空間。** 交換空間是安全閥。拿掉它，被殺掉的會是 App。

## 什麼時候答案真的是加 RAM

Apple Silicon 用的是買了就不能升級的統一記憶體，所以值得先診斷，不要猜。

日常工作時壓力一直停在黃或紅、交換空間在一次使用中穩定長大、而且佔用最多的都是你必須同時開著的東西，這時才該買更多記憶體。如果壓力是綠的，你只是對「已使用記憶體」有反應，加 RAM 不會改變任何你感覺得到的事。

## 監控工具放哪裡

[Mole](https://mole.fit/tw/) 的狀態頁面和選單列把記憶體壓力、CPU、溫度與程序放在一起，方便對照卡頓當下的讀數。這些監控畫面只讀取資料，不會釋放記憶體，最佳化是另一項操作，其中的記憶體釋放只在系統回報警告或嚴重壓力時執行，壓力正常時會略過。

## 常見問題

### Mac 上記憶體用量高是壞事嗎？

不一定，用量高但壓力維持綠色，通常代表目前記憶體仍夠用。「活動監視器」的「快取的檔案」和「已使用記憶體」分開計算，不能直接把高用量歸因於快取，要配合壓力和實際卡頓判斷。

### 交換空間用多少才算太多？

沒有適用所有機器的門檻。看你實際工作時的趨勢，不要看絕對數字：壓力是黃或紅、交換空間還在穩定長大，這才是問題；開著好幾週的機器上有幾個 GB，通常不是。

### 記憶體清理 App 有用嗎？

它們做的就是廣告上寫的，這才是問題。丟掉快取會讓可用記憶體數字上升，接下來幾分鐘卻更慢。有東西需要時，macOS 自己就會回收記憶體。

### 壓力是綠色，Mac 為什麼還是慢？

那就不是記憶體在卡。去看 CPU、溫度降頻或磁碟。從
[為什麼 Mac 這麼慢](https://mole.fit/tw/blog/why-is-my-mac-so-slow) 開始，它會依序把瓶頸過一遍。

---

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