# Mac 上的 sleepimage 文件是什么，可以删吗

> sleepimage 放着一份内存副本，让 Mac 睡眠时断电后还能恢复，为什么删了也拿不回长期空间，让它不再出现又要付出什么代价。

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

`sleepimage` 是 `/private/var/vm/sleepimage` 这个文件，macOS 在里面放一份睡眠用的内存副本，万一睡眠时断电，靠它恢复你打开的工作。用 `sudo` 可以删掉，但只要休眠还开着，下次睡眠时 macOS 又会写一份，所以删了也拿不回长期的空间，想让它一直不存在就得改电源设置，而这个设置去掉的正是这个文件要提供的保护。

## 这个文件是干什么的

`man pmset` 里 `hibernatemode` 有三个取值：

| `hibernatemode` | 睡眠时做什么 | 断电的话 |
| --- | --- | --- |
| `0` | 内存保持供电，磁盘上没有副本 | 当前会话丢失 |
| `3` | 内存保持供电，同时往磁盘写一份副本，手册里笔记本的默认值 | 从副本恢复 |
| `25` | 往磁盘写副本后内存断电，睡眠和唤醒更慢，更省电 | 总是从副本恢复 |

`standby` 也有关系，它打开时，睡了一段时间的 Mac 会转入休眠，同样会写这个镜像，所以 `hibernatemode` 是 `0` 的台式机也可能有这个文件。

自己的设置和文件可以这样看：

```bash
pmset -g | grep -E 'hibernate|standby|autopoweroff'
ls -lh /private/var/vm
```

输出里的 `hibernatefile` 就是它的路径，有时写成 `/var/vm`，和 `/private/var/vm` 是同一个地方。

## 它会有多大

它不一定等于内存大小，核对这篇文章用的是一台 48 GB 内存的 Apple 芯片 Mac，`hibernatemode` 是 3，`sleepimage` 是 2.0 GB，具体数字取决于机型和当时内存里的内容，所以别猜，量一下：

```bash
du -h /private/var/vm/sleepimage
```

这个文件和交换文件其实是两回事，只是常被放在一起说，较新的 Mac 上交换文件在单独的宗卷里，可以看 [Mac 交换内存怎么回事](https://mole.fit/zh/blog/mac-swap-memory-explained)。存储空间设置通常把 `sleepimage` 算进「系统数据」，所以它可能是 [系统数据很大](https://mole.fit/zh/blog/what-is-system-data-on-mac) 的一部分，但很少是主要部分。

## 要不要删

大多数人不用删，几 GB 空间只能拿回到下次睡眠，这个文件也一直在起作用。磁盘很小确实需要这点空间时，长期有效的办法只有关掉所有会写镜像的设置，手册里说要完全不写休眠镜像，`hibernatemode`、`standby` 和 `autopoweroff` 都得是 `0`：

```bash
sudo pmset -a hibernatemode 0
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0
sudo rm /private/var/vm/sleepimage
```

`pmset -g` 没有列出 `autopoweroff` 的话，跳过那一行。代价是笔记本睡眠时电池耗尽，或者台式机断电，会话就彻底没了，没保存的内容也找不回来。笔记本想恢复原样，把 `hibernatemode` 改回 `3`、`standby` 改回 `1`，再让 Mac 睡一次：

```bash
sudo pmset -a hibernatemode 3
sudo pmset -a standby 1
```

## 不要这样做

- 不要反复删这个文件，下次睡眠时它又会把那块空间占回去。
- 不要把 `hibernatefile` 指到外接磁盘，手册写明了它只能放在根宗卷上。
- 不要用论坛上的老办法，换成一个锁定的空文件，这是在和系统设置对着干，还会让你看不清真实状态。
- 笔记本经常把电用光的话，不要关这些设置，这个文件防的就是这种情况。

## Mole 能帮什么

[Mole](https://mole.fit/zh/) 的「清理」没有 `sleepimage` 这一项，它是系统正在用的文件，删了也空不出多久。「分析」跳过 `/private` 这些 macOS 系统区域，所以 `/private/var/vm` 和 `sleepimage` 不会出现在里面，也没法从 Mole 移到废纸篓。Mole 也不改 `hibernatemode`，它唯一碰的 `pmset` 设置是 `disablesleep`，保持屏幕常亮靠它在合盖时不睡。磁盘满了的话，真正能清的通常在别处，可以先看 [Mac 启动磁盘满了怎么办](https://mole.fit/zh/blog/mac-startup-disk-full)。

## 常见问题

### Mac 上的 sleepimage 可以删吗？

可以用 `sudo rm` 删，但只要休眠开着，下次睡眠时 macOS 又会写一份。想让它不再出现，要把 `hibernatemode`、`standby` 和 `autopoweroff` 都设成 `0`，并接受睡眠时断电会话就没了。

### sleepimage 为什么这么大？

它放的是睡眠用的内存副本，大小取决于机型和当时内存里的内容，用 `du -h /private/var/vm/sleepimage` 量一下，别的 Mac 上的数字参考价值不大。

### sleepimage 和交换文件是一回事吗？

不是，交换文件是 Mac 醒着、内存不够时放内存页用的，`sleepimage` 是为了睡眠时断电之后恢复。

### hibernatemode 设成 0 会怎样？

睡眠和唤醒可能快一点，这个模式也不再写镜像，但睡眠时断电的话，打开的工作就恢复不了。`standby` 开着的 Mac 还是可能写镜像，要把它也关掉。

### 磁盘很小的 Mac 需要在意 sleepimage 吗？

可能需要，256 GB 的磁盘上几 GB 分量不轻，不过还是先看开发工具缓存、iPhone 备份和 App 数据，这些能清出来的空间多得多，也不用改变睡眠的工作方式。

---

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