在 CentOS(以及所有 Linux 系统)中,swap(交换空间) 的作用可以从“是什么、干什么、什么时候用、有什么影响”几个角度来看。
一、Swap 是什么
Swap 是 磁盘上的一块空间(可以是分区,也可以是文件),被系统当作“内存的补充”。
当物理内存(RAM)不够用时,系统会把一部分不常用的内存数据挪到 swap 中,腾出 RAM 给更需要的程序。
二、Swap 的主要作用
1️⃣ 缓解内存不足(防止 OOM)
当程序占用内存超过物理内存时:
- 没有 swap → 可能直接触发 OOM(Out Of Memory),系统杀掉进程
- 有 swap → 系统可以把不常用的内存换出,系统不至于立刻崩溃
✅ 适合:
- 内存较小的机器(如 1G / 2G)
- 突发内存高峰
2️⃣ 支持休眠(Hibernate)
如果你使用 休眠(suspend-to-disk):
- 系统会把内存内容写入 swap
- 下次开机再从 swap 恢复
⚠️ 服务器一般不用,但桌面/笔记本可能用
3️⃣ 提高系统稳定性
即使内存充足,swap 也有“兜底”作用:
- 一些长期不用的后台进程可以被换出
- 避免极端情况下系统卡死
三、Swap 不是“加速内存”
❌ 常见误区:
swap 越大,系统越快
实际上:
- swap 在 磁盘 上
- 磁盘速度远慢于内存
- swap 用太多 → 系统明显变卡(swap thrashing)
✅ 正确认知:
swap 是“保命用”,不是“性能用”
四、CentOS 中 swap 的常见形式
- swap 分区(传统、推荐服务器)
- swap 文件(灵活,Cloud VM 常用)
查看 swap:
free -h
swapon -s
五、什么时候需要 / 不需要 swap
✅ 建议有 swap 的情况
- 内存 ≤ 2G
- 跑数据库、Java、编译任务
- 云服务器(防止 OOM 被强杀)
❌ 可以不要 swap 的情况
- 内存很大(如 ≥ 16G)
- 对延迟极敏感(如高频交易)
- 明确控制内存使用
六、CentOS 推荐 swap 大小(经验)
| 内存 |
建议 swap |
| ≤ 2G |
2 × RAM |
| 2–8G |
= RAM |
| 8–16G |
4–8G |
| > 16G |
2–4G(或 0) |
如果你愿意,我可以:
- 帮你 查看当前 CentOS 是否有 swap
- 教你 添加 swap 文件
- 或根据你是 服务器 / 桌面 / 云主机 给具体建议