温馨提示×

ubuntu swapper需要配置吗

小樊
52
2026-08-31 17:53:55
栏目: 智能运维

在 Ubuntu(以及一般的 Linux)中,swapper / swap 通常不需要手动“配置”也能正常工作,但是否需要额外配置,取决于你的使用场景和硬件情况。

下面分情况说明:


一、Ubuntu 默认是怎么处理 swap 的?

1️⃣ 有 swap 分区或 swap 文件(最常见)

  • 安装 Ubuntu 时:
    • 如果使用 UEFI + 磁盘自动分区,通常会创建一个 swap 文件/swapfile
    • 或者你手动分了一个 swap 分区
  • 系统会自动:
    • 挂载 swap
    • 启用 swapper(内核交换机制)

一般不需要你额外配置

查看是否有 swap:

swapon --show
free -h

二、什么时候“需要”配置 swap?

✅ 情况 1:内存很小(≤ 2GB / 4GB)

建议:

  • 有 swap,避免 OOM(内存耗尽)

一般建议大小:

  • 内存 ≤ 2GB:swap = 2× 内存
  • 内存 4–8GB:swap = 等于内存或 1×

✅ 情况 2:使用休眠(hibernate)

如果你想 休眠(suspend to disk)

  • swap 必须 ≥ 物理内存

配置方式:

  • swap 分区(推荐)
  • 或修改 grub 指定 resume=

✅ 情况 3:服务器 / 数据库 / 编译大型项目

  • 有时需要调 swappiness
cat /proc/sys/vm/swappiness

默认通常是 60

可调(例如 10):

sudo sysctl vm.swappiness=10

永久生效:

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

✅ 情况 4:没有 swap(例如云服务器最小镜像)

你可能发现:

swapon --show
# 空

可以手动创建 swap 文件:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

开机自动挂载:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

三、什么时候“不需要”配置?

✅ 以下情况可以完全不管:

  • 内存 ≥ 8GB
  • 不做休眠
  • 桌面日常使用
  • 不跑内存密集型程序

甚至有人 完全禁用 swap(不推荐新手):

sudo swapoff -a

四、总结一句话

Ubuntu 的 swapper 默认就能用,不需要配置; 只有在内存小、要休眠、或没有 swap 时才需要手动配置。

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

  • Ubuntu 版本
  • 内存大小
  • 是否是服务器 / 桌面 / 虚拟机

我可以给你一套最适合你的 swap 配置建议

0