温馨提示×

ubuntu swapper怎么设置

小樊
37
2026-08-05 22:33:05
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 发行版)中,swapper 并不是像服务一样“开启/关闭”的,而是指交换分区(swap partition)或交换文件(swap file)。下面我按常见需求给你一个完整说明,从“查看”到“设置/调整”。


一、先确认当前交换状态

swapon --show

free -h

如果看到 swap 行为 0,说明当前没有启用交换。


二、方式一:使用交换文件(推荐,最常用 ✅)

1️⃣ 创建交换文件(例如 4G)

sudo fallocate -l 4G /swapfile

如果 fallocate 不支持(某些文件系统):

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

2️⃣ 设置权限(安全)

sudo chmod 600 /swapfile

3️⃣ 格式化为 swap

sudo mkswap /swapfile

4️⃣ 启用 swap

sudo swapon /swapfile

5️⃣ 开机自动挂载

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

✅ 完成,执行:

free -h

就能看到 swap 了。


三、方式二:使用交换分区(适用于装系统时)

  1. 查看磁盘:
lsblk
  1. 使用 fdisk / gparted 创建一个 swap 类型分区
  2. 格式化:
sudo mkswap /dev/sdXn
  1. 启用:
sudo swapon /dev/sdXn
  1. 写入 /etc/fstab
UUID=xxxx  none  swap  sw  0  0

四、调整 swappiness(交换倾向)

swappiness 决定系统多积极使用 swap(0–100):

查看当前:

cat /proc/sys/vm/swappiness

临时修改:

sudo sysctl vm.swappiness=10

永久修改:

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=10

常见建议:

  • 桌面系统:10–30
  • 服务器(内存小):30–60

五、关闭 / 删除 swap

临时关闭

sudo swapoff -a

永久删除(交换文件示例)

sudo swapoff /swapfile
sudo rm /swapfile

并删除 /etc/fstab 中相关行。


六、你可能会关心的情况

❓ 是否需要 swap?

  • ✅ 内存小(≤8G)
  • ✅ 需要休眠(hibernate)
  • ✅ 防止 OOM(内存溢出)

❌ 不推荐 swap 的场景

  • 大内存服务器(32G+)
  • 高性能实时应用(延迟敏感)

如果你告诉我:

  • ✅ Ubuntu 版本
  • ✅ 是服务器还是桌面
  • ✅ 内存多大

我可以给你更精确的配置建议,比如最优 swap 大小或 swappiness 值。

0