温馨提示×

为什么要用ubuntu swap

小樊
38
2026-08-23 22:06:37
栏目: 智能运维

简单来说,Ubuntu(和其他 Linux 系统)使用 swap 的主要目的是:防止内存耗尽导致系统崩溃,并在一定程度上提升内存使用效率。

下面从通俗到深入给你解释一下。


一、什么是 swap?

Swap 是磁盘上的一块空间(可以是一个分区,也可以是一个文件),被系统当作**“虚拟内存”**来使用。

内存(RAM)满了 → 不常用的数据暂时搬到 swap → 内存腾出来给更重要的任务


二、为什么要使用 swap(核心原因)

1️⃣ 防止内存不足导致进程被杀死

如果你没有 swap:

  • 内存用完时
  • Linux 的 OOM Killer(内存溢出杀手) 就会强制杀掉某些进程
  • 严重时会直接导致系统卡死

✅ 有 swap:

  • 系统可以把不常用的内存页换到磁盘
  • 避免直接崩溃或杀进程

2️⃣ 释放内存给更“活跃”的程序

Linux 的内存管理很聪明:

  • 文件缓存(page cache)
  • 长时间没用的程序数据

这些都可以被移到 swap,让真正需要内存的程序跑得更快


3️⃣ 支持休眠(Hibernate)

如果你使用 休眠功能(suspend to disk)

内存内容 → 写入 swap → 关机 → 开机再恢复

⚠️ 这种情况 swap 必须 ≥ 内存大小


4️⃣ 小内存机器尤其重要

内存大小 是否需要 swap
≤ 4GB 强烈建议
8GB 建议
≥ 16GB 可选,但仍有价值

在服务器、云主机、老电脑上,swap 几乎是标配。


三、swap 的代价是什么?

⚠️ swap 在磁盘上,比内存慢很多

  • HDD:慢很多(毫秒级)
  • SSD:慢,但可接受(微秒级)

所以:

  • swap 不是内存的替代品
  • 而是保险机制

四、Ubuntu 的默认做法

现代 Ubuntu:

  • ✅ 默认使用 swapfile(交换文件)
  • ✅ 自动管理
  • ✅ 不需要手动分区

查看 swap 状态:

swapon --show
free -h

五、什么时候“不建议”用 swap?

以下情况可以考虑关闭或减小 swap:

  • 高性能数据库(如 MySQL、PostgreSQL)
  • 明确知道内存永远够用
  • 对延迟极其敏感的服务

⚠️ 但普通桌面用户不建议关闭 swap


六、一句话总结

Ubuntu 使用 swap,是为了在内存不够时保命,并让系统更平稳地运行。

如果你愿意,我可以帮你:

  • 判断你该不该用 swap
  • 教你如何 增加 / 删除 / 调整 swap 大小
  • 或解释 swap 和 zram 的区别

0