在 Ubuntu(以及大多数 Linux 系统)中,swap 分区主要有以下作用:
一、swap 是什么?
swap 分区是磁盘上的一块专门区域(也可以是 swap 文件),当物理内存(RAM)不足时,系统会把一部分不常用的内存数据暂时移到 swap 中,从而释放内存给当前程序使用。
可以理解为:
内存不够时,用硬盘“临时当内存用”
二、swap 在 Ubuntu 中的主要作用
1️⃣ 防止内存耗尽导致系统崩溃
当物理内存被占满:
- 没有 swap:系统可能 OOM(Out Of Memory)杀进程,甚至卡死
- 有 swap:系统会把不常用的数据移到 swap,避免直接崩溃
✅ 提高系统稳定性
2️⃣ 扩展可用“内存”空间
swap 不是真正的内存,但:
- 对不常用数据(后台进程、缓存等)非常有用
- 让系统能同时运行更多程序
⚠️ 注意:
swap 速度远慢于 RAM(硬盘 vs 内存)
3️⃣ 支持休眠(Hibernate)
如果你使用 休眠功能(suspend to disk):
- 系统会把内存内容写入 swap
- 开机时再从 swap 恢复到内存
✅ 休眠需要 swap ≥ 物理内存
4️⃣ 优化内存使用效率
Linux 内存管理机制会:
- 把不活跃的内存页移到 swap
- 把宝贵的 RAM 留给真正活跃的进程
三、swap 的几种形式
✅ swap 分区
- 安装 Ubuntu 时创建
- 性能略好
- 一旦创建,调整较麻烦
✅ swap 文件(推荐)
- 普通文件,灵活
- 可随时创建 / 删除 / 调整大小
swapon --show
free -h
四、swap 大小建议(参考)
| 内存大小 |
建议 swap |
| ≤ 2GB |
2 × RAM |
| 2–8GB |
等于 RAM |
| 8–16GB |
0.5–1 × RAM |
| ≥ 16GB |
4–8GB(或不用) |
✅ 服务器 / 桌面 / 休眠需求不同
五、swap 的缺点(必须知道)
- ❌ 速度慢(尤其是机械硬盘)
- ❌ 频繁 swap 会导致系统卡顿(swap thrashing)
- ❌ SSD 上过多 swap 会增加磨损(但现代 SSD 影响很小)
六、什么时候可以不用 swap?
✅ 以下情况可以考虑不启用 swap:
- 内存非常大(≥32GB)
- 不运行内存密集型程序
- 不关心偶尔 OOM
- 高性能服务器(如数据库,通常禁用 swap)
七、总结一句话
swap 是 Ubuntu 的“内存安全垫”,不是性能加速器。
如果你愿意,我可以帮你:
- 判断你当前系统是否需要 swap
- 教你 创建 / 调整 / 关闭 swap
- 针对 服务器 / 桌面 / 开发环境 给具体建议