# 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`）说这些断言“may prevent system sleep or display sleep”，也就是可能阻止系统或显示器睡眠，主要看这几个：

| 断言 | 拦住什么 | 通常是谁 |
| --- | --- | --- |
| `PreventUserIdleSystemSleep` | 闲置时进入睡眠 | 媒体播放、下载、远程控制、防休眠工具 |
| `PreventUserIdleDisplaySleep` | 闲置时关显示器 | 视频、演示、防休眠工具 |
| `PreventSystemSleep` | 范围更大的睡眠 | 系统任务或者主动要求的工具 |
| `UserIsActive` | 短时间内的闲置计时 | 你刚碰过键盘或触控板 |

这些大多只拦闲置睡眠，所以从苹果菜单选“睡眠”通常还是有效的，如果也不行，接着往下看。

## 逐个排查常见原因

| 进程或迹象 | 原因 | 怎么办 |
| --- | --- | --- |
| `coreaudiod` | 音频开着，有时是暂停的标签页 | 关掉标签页或播放器 |
| 浏览器或视频 App | 正在放视频 | 停掉或者关掉页面 |
| `caffeinate`、Amphetamine 这类工具 | 它们就是用来防休眠的 | 退出，或者结束这次防休眠 |
| UU 远程、屏幕共享或其他远程工具 | 要让 Mac 保持可连接 | 断开或退出 |
| 备份和同步 App、`bird` | 有任务在跑 | 等它完成或者暂停 |
| `powerd` | 它自己的记录，常见于显示器亮着时 | 先看其他几行 |
| `pmset -g` 里有 `SleepDisabled 1` | 整台 Mac 的睡眠被关了 | 看下面一节 |

设置也有影响，打开“系统设置 › 电池 › 选项”，看“使用电源适配器供电且显示器关闭时，防止自动进入睡眠”，同一页的“唤醒以供网络访问”决定 Mac 是否会为了共享资源醒来。如果刚睡下不久就醒，常见的嫌疑是外接设备，拔掉 USB 设备和扩展坞再试。

## 睡眠被彻底关掉时

`pmset -g` 会列出 `SleepDisabled` 这一行，值是 `1` 时 Mac 不会睡眠，从菜单选或者合盖都不行。防休眠工具为了合盖不睡会设置它，停下来时应该改回去，先退出这些工具，如果还是 `1`，也确实没有东西需要它：

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

不确定是哪个工具设置的，就重启一下。

## 合盖了还在运行

笔记本接着外接显示器、电源和键盘或鼠标时可以合盖运行，这是合盖模式，是有意设计的，拔掉显示器就能测试。如果 MacBook 放在包里还发热，不要继续放着，打开它，运行上面的命令找到进程，有些工具就是故意让 Mac 合盖不睡。

## 不要这样做

- 不要一上来就重置 SMC 或 NVRAM，几乎都是某个进程在运行，上面的命令几秒就能查到。
- 不要照论坛乱改 `pmset`，这些改动重启后还在，很容易忘，`pmset -g custom` 能看现在的设置，`sudo pmset restoredefaults` 可以恢复默认。
- 不要为了这个去删 `sleepimage`，[让 Mac 醒着的不是这个文件](https://mole.fit/zh/blog/what-is-sleepimage-mac)。
- 不要不管包里发烫的 MacBook，先拿出来让它凉下来。

## Mole 能做什么

在 [Mole](https://mole.fit/zh/) 的“状态”里，进程菜单的“为什么在运行？”读的就是这些断言，这个进程让 Mac 醒着时，它会写“进程正在阻止系统睡眠。”怀疑某个 App 时这样看很方便，想一次看全部，还是 `pmset -g assertions` 更快。Mole 自己的“保持常亮”也是一个有意持有断言的工具，默认模式也覆盖合盖，这时会用 `disablesleep`，结束时会改回去。想要的如果是相反的效果，可以看 [不费电地让 Mac 保持唤醒](https://mole.fit/zh/blog/keep-mac-screen-on-without-draining-battery)，如果是电池过夜掉得快，可以看 [MacBook 电池为什么掉得快](https://mole.fit/zh/blog/macbook-battery-draining-fast)。

## 常见问题

### Mac 为什么不睡眠？

通常是有进程持有电源断言，比如媒体播放、远程控制工具或防休眠 App，`pmset -g assertions` 能查到名字。

### 怎么看是什么在阻止 Mac 睡眠？

在终端运行 `pmset -g assertions`，看 `PreventUserIdleSystemSleep` 和 `PreventSystemSleep` 这几行，上面写着每个进程的名字。

### Mac 为什么刚睡下就醒？

常见的嫌疑是外接设备和网络唤醒，拔掉 USB 设备，再看“系统设置 › 电池 › 选项”里的“唤醒以供网络访问”。

### coreaudiod 阻止睡眠是怎么回事？

有东西开着音频，常常是浏览器标签页或音乐 App，暂停了也算，关掉之后断言应该就没了。

### SleepDisabled 是什么意思？

整台 Mac 的睡眠被关了，通常是防休眠工具设置的，先退出它，如果还是 `1`，运行 `sudo pmset -a disablesleep 0`。

---

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