温馨提示×

ubuntu swap和内存关系

小樊
52
2026-09-04 03:17:23
栏目: 智能运维

在 Ubuntu(以及 Linux 系统)中,内存(RAM) 和 swap(交换空间) 是协同工作的,核心目的是让系统能运行更多程序、并在内存不足时避免崩溃。

下面用通俗的方式说明它们的关系。


一、基本概念

1. 内存(RAM)

  • 速度极快
  • 用于存放正在运行的程序和数据
  • 容量有限(比如 8GB、16GB)
  • 断电后数据丢失

2. Swap(交换空间)

  • 通常是硬盘或 SSD 上的一块空间
  • 速度比内存慢很多
  • 用于临时存放不常用的内存数据
  • 可以是:
    • swap 分区
    • swap 文件(Ubuntu 常见)

二、内存和 swap 的关系

✅ 正常情况(内存充足)

  • 程序全部在 RAM 中运行
  • swap 基本不使用
  • 系统运行最快

⚠️ 内存快满时

  • Linux 会把不常使用的内存数据移动到 swap
  • 腾出 RAM 给更活跃的程序
  • 这个过程叫 swap out

❌ 内存和 swap 都满

  • 系统会触发 OOM(Out Of Memory)
  • 强制杀掉某些进程
  • 严重时系统卡死

三、一个形象比喻

  • RAM = 桌面
  • Swap = 抽屉

桌面上放正在用的文件,抽屉里放暂时不用的。
桌面越大(内存越大),工作效率越高。
抽屉越大(swap 越大),能放的东西越多,但拿取更慢。


四、swap 的作用总结

✅ 防止内存耗尽导致系统崩溃
✅ 支持休眠(hibernate)(需要 swap ≥ 内存)
✅ 对小内存机器很重要

❌ 不能替代内存性能
❌ 过多 swap 使用 = 系统变慢(硬盘 IO 瓶颈)


五、Ubuntu 中的常见建议

内存 ≥ 8GB

  • 桌面用户:1–2GB swap 或不用
  • 服务器:视负载而定

内存 < 4GB

  • 建议 swap = 内存大小或 2×内存

使用休眠功能

  • swap ≥ 物理内存大小

六、常用查看命令(Ubuntu)

# 查看内存和 swap 使用情况
free -h

# 查看 swap 是否启用
swapon --show

# 查看内存占用最高的进程
top

七、是否该关闭 swap?

  • 桌面 / 笔记本:建议保留
  • 高性能服务器(足够内存):可关闭以减少延迟
  • 数据库服务器:常建议禁用或调低 swap 使用倾向

可通过参数控制:

cat /proc/sys/vm/swappiness

值范围 0–100,默认 60
值越低越“不愿意用 swap”。


如果你愿意,我可以:

  • 帮你判断当前 Ubuntu 是否需要增加 swap
  • 教你创建 / 删除 swap 文件
  • 针对服务器 or 桌面给具体配置建议

0 踩