在 Ubuntu(以及大多数 Linux 发行版)中,**swap(交换空间)**的大小设置主要取决于你的 内存大小、使用场景(是否休眠)和磁盘类型。
下面给你一个实用参考:
一、传统经验值(老规则)
以前常见建议是:
- 内存 < 2GB:swap = 内存的 2 倍
- 内存 2–8GB:swap = 内存大小
- 内存 > 8GB:swap = 4–8GB 即可
二、Ubuntu 官方 / 现代建议(含休眠)
如果你 需要休眠(hibernate),swap 必须 ≥ 内存大小。
| 内存大小 |
是否休眠 |
建议 swap |
| ≤ 2GB |
否 |
2× 内存 |
| 2–4GB |
否 |
内存大小 |
| 4–8GB |
否 |
4–6GB |
| 8–16GB |
否 |
4–8GB |
| ≥ 16GB |
否 |
4GB 左右 |
| 任意 |
是 |
≥ 内存大小 |
三、不同使用场景建议
1️⃣ 普通桌面用户
- 8GB 内存:4GB swap
- 16GB 内存:4–8GB swap
- 32GB+:2–4GB(基本用不到)
2️⃣ 服务器
- 小内存(≤ 4GB):swap = 内存
- 大内存:2–4GB 足够(防止 OOM)
3️⃣ 开发 / 虚拟机 / 编译
四、SSD 上 swap 注意
- swap 在 SSD 上没问题
- 现代内核 swap 使用很少
- 不需要担心“伤硬盘”
五、查看当前 swap
swapon --show
free -h
六、修改 swap 大小(常见方式)
调整 swappiness(使用倾向)
cat /proc/sys/vm/swappiness
一般桌面设为:
sudo sysctl vm.swappiness=10
如果你愿意,可以告诉我:
- 内存多大
- 是否笔记本 / 是否休眠
- 是桌面还是服务器
我可以直接帮你给一个具体数值 + 设置命令。