温馨提示×

ubuntu swapper有必要开吗

小樊
43
2026-09-18 18:44:55
栏目: 智能运维

在 Ubuntu(以及 Linux 一般)里说的 swapper / swap,通常指 swap 分区或 swap 文件,不是“swapper 进程”(那是内核线程,不能关)。

简单结论先给你:

大多数情况:有必要开,但不用太大。


一、什么情况下“建议开 swap”

内存不大(比如 ≤ 8GB)

  • 开 swap 能防止内存耗尽直接卡死 / OOM 杀进程

用笔记本 / 台式机日常使用

  • 睡眠(suspend)不一定需要 swap
  • 但 hibernate(休眠到硬盘)必须有 swap,且大小 ≥ 内存

跑编译器、Docker、虚拟机、数据库

  • 峰值内存可能超物理内存
  • swap 是安全垫

服务器

  • 通常建议开,防止突发内存压力导致服务崩

二、什么情况下“可以不开”

大内存服务器(如 32GB+)且负载稳定

  • 很多生产环境会:
    sudo swapoff -a
    
    或只留很小 swap

极端性能敏感场景

  • swap 用上后速度会明显下降
  • 不开 ≠ 更快,只是“爆内存就直接挂”

纯跑内存足够的小程序 / 嵌入式

  • 可以没有 swap

三、Ubuntu 的默认做法(重点)

  • Ubuntu 桌面版:默认用 swap file(不是分区)
  • 大小一般是:
    • ≤ 2GB 内存:2×内存
    • 2–8GB:= 内存
    • 8GB:至少 4–8GB

查看你现在的 swap:

swapon --show
free -h

四、我的建议(实用版)

✅ 普通用户

  • 保留 swap
  • 大小:
    • 8GB 内存 → 4–8GB swap
    • 16GB+ → 4GB 足够

✅ 笔记本想休眠

swap ≥ 内存大小

✅ 不想用 swap 拖慢系统

可以限制使用倾向:

cat /proc/sys/vm/swappiness

默认 60,可改 10–20:

sudo sysctl vm.swappiness=10

永久:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

总结一句话

Ubuntu 的 swap 建议开,但不用太大;除非你明确知道自己在干什么,否则别关。

如果你愿意,可以告诉我:

  • 内存多大
  • 是笔记本还是服务器
  • 主要用来干嘛(开发 / 游戏 / 服务器 / 日常)

我可以直接给你该开多大、怎么配置

0