# Mac 不睡眠怎麼辦，怎麼查是誰在阻止

> pmset -g assertions 能查到是哪個程序讓 Mac 醒著。怎麼看結果、常見原因有哪些，以及睡眠被整個關掉時怎麼辦。

Published: 2026-11-09

Mac 不睡眠的時候，一行指令通常就能找出原因。在終端機執行 `pmset -g assertions`，找出帶有 `PreventUserIdleSystemSleep` 或 `PreventSystemSleep` 的那幾行：每一行都會指出是哪個程序讓 Mac 保持清醒。大多數時候是正在播放媒體的 App、遠端存取工具、防止睡眠的工具或下載。把那一個東西結束，Mac 就會自己睡著了。

## 找出是什麼讓它不睡

先給最快的答案。這行會告訴你有哪些程序在阻止睡眠：

```bash
pmset -g | grep -E '^ *sleep'
```

例如這台 Mac 印出的是 `sleep 1 (sleep prevented by caffeinate, powerd, Amphetamine, ...)`。想看細節，包括每一個已經撐了多久：

```bash
pmset -g assertions
```

同一台 Mac 上的真實一行：

```text
pid 1321(UURemote): 36:07:42 PreventUserIdleSystemSleep named: "UURemote Disable Idle System Sleep"
```

手冊頁（`man pmset`）說 assertion "may prevent system sleep or display sleep"，也就是可能阻止系統睡眠或顯示器睡眠。要看的是這幾種：

| Assertion | 它阻止什麼 | 通常是誰持有 |
| --- | --- | --- |
| `PreventUserIdleSystemSleep` | Mac 閒置時進入睡眠 | 播放媒體、下載、遠端存取、防止睡眠的工具 |
| `PreventUserIdleDisplaySleep` | 顯示器閒置時關閉 | 影片、簡報、防止睡眠的工具 |
| `PreventSystemSleep` | 範圍更廣的睡眠 | 系統工作，或要求它的工具 |
| `UserIsActive` | 閒置計時器，維持一小段時間 | 你剛碰過鍵盤或觸控式軌跡板 |

這些大多只是閒置時的阻擋，所以從蘋果選單選擇 **睡眠**，通常還是能睡。如果不行，請繼續往下看。

## 逐一檢查常見原因

| 程序或跡象 | 原因 | 怎麼辦 |
| --- | --- | --- |
| `coreaudiod` | 有音訊被打開，有時是暫停中的分頁 | 關掉那個分頁或播放器 |
| 瀏覽器或影片 App | 正在播放影片 | 停止播放或關掉頁面 |
| `caffeinate`、Amphetamine 之類 | 它們的用途就是讓 Mac 保持清醒 | 結束它們，或結束那次工作階段 |
| UU Remote、螢幕共享或其他遠端工具 | 它們讓 Mac 保持可連線 | 中斷連線或結束它們 |
| 備份和同步 App、`bird` | 有工作正在執行 | 等它做完，或先暫停 |
| `powerd` | 它自己的紀錄，常見於顯示器開著的時候 | 先看其他幾行 |
| `pmset -g` 裡的 `SleepDisabled 1` | 整台 Mac 的睡眠都被關掉了 | 見下面 |

設定也有影響。打開 **系統設定 › 電池 › 選項**，檢查 **在使用電源轉接器時，避免在顯示器關閉時自動進入睡眠**。同一頁的 **進行網路連線時喚醒電腦** 決定 Mac 會不會為了提供共享資源而醒來。如果 Mac 在你讓它睡著後很快又醒來，配件是常見的嫌疑，拔掉 USB 裝置和集線器再測一次。

## 睡眠被整個關掉的時候

`pmset -g` 會列出一行 `SleepDisabled`。它是 `1` 的時候，Mac 就不會睡，不管是從選單，還是闔上螢幕。防止睡眠的工具為了在闔上螢幕時保持執行，會設定這個值，它們停止後應該會恢復。先結束那些工具。如果它還是 `1`，而且沒有任何東西需要它：

```bash
sudo pmset -a disablesleep 0
```

不確定是哪個工具設的，就重新啟動。

## 闔上螢幕但還在執行

接著外接顯示器、電源和鍵盤或滑鼠的筆電，可以在闔上螢幕的狀態下繼續執行。這是 clamshell 模式，是刻意的設計，所以拔掉顯示器來測試。如果 MacBook 放在包包裡還是熱的，不要讓它繼續待在裡面。打開它，執行上面的指令找出那個程序，因為有些工具會刻意讓 Mac 在闔上螢幕時保持清醒。

## 不要這樣做

- 不要一開始就重設 SMC 或 NVRAM。幾乎所有情況都只是一個正在執行的程序，而上面的指令幾秒鐘就跑完。
- 不要照論壇隨便改 `pmset`。這些設定在重新啟動後還在，很容易忘記。`pmset -g custom` 可以看到設了什麼，`sudo pmset restoredefaults` 可以還原。
- 不要為了解決這個問題去刪 `sleepimage`。那個檔案[不是讓 Mac 保持清醒的原因](https://mole.fit/tw/blog/what-is-sleepimage-mac)。
- 不要忽視在包包裡發燙的 MacBook。先把它拿出來降溫。

## Mole 能幫上什麼

在 [Mole](https://mole.fit/tw/) 的「狀態」裡，程序選單中的「為什麼在執行？」讀的就是同樣的 assertion，如果那個程序正阻止 Mac 睡眠，會顯示「程序正在阻止系統睡眠。」。當你懷疑是某個 App 的時候，這很有幫助。要一次看完整清單，還是 `pmset -g assertions` 比較快。Mole 自己的「防止睡眠」就是會持有 assertion 的工具之一，這是刻意的，而且預設模式也包括闔上螢幕的情況，它用的是 `disablesleep`，工作階段結束時會還原。如果你要的是和本文相反的事，見[讓 Mac 保持清醒又不耗電](https://mole.fit/tw/blog/keep-mac-screen-on-without-draining-battery)。如果電池在夜裡下降，見[為什麼 MacBook 電池消耗很快](https://mole.fit/tw/blog/macbook-battery-draining-fast)。

## 常見問題

### 為什麼我的 Mac 不睡眠？

通常是有程序持有電源 assertion，例如媒體、遠端存取工具或防止睡眠的 App。`pmset -g assertions` 會指出是哪一個。

### 怎麼看是什麼阻止 Mac 睡眠？

在終端機執行 `pmset -g assertions`，看 `PreventUserIdleSystemSleep` 和 `PreventSystemSleep` 那幾行，每一行都會指出一個程序。

### 為什麼我的 Mac 剛睡著就醒了？

常見的嫌疑是配件和網路喚醒。拔掉 USB 裝置，並檢查 **系統設定 › 電池 › 選項** 裡的 **進行網路連線時喚醒電腦**。

### coreaudiod 在阻止睡眠是怎麼回事？

有東西開著音訊，常見的是瀏覽器分頁或音樂 App，即使暫停也一樣。關掉它，assertion 就該消失了。

### SleepDisabled 是什麼意思？

整台 Mac 的睡眠被關掉了，通常是防止睡眠的工具造成的。結束那個工具。如果它還是 `1`，執行 `sudo pmset -a disablesleep 0`。

---

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