温馨提示×

ubuntu swapper在哪设置

小樊
47
2026-08-31 17:48:53
栏目: 智能运维

Ubuntu(以及大多数 Linux 发行版) 中,swapper / swap 的设置 并没有一个图形界面里的“开关”,而是通过 内核参数、系统文件和交换分区/文件 来控制的。下面按常见场景给你说明。


一、swapper 是什么?

  • swapper(swapper 进程,PID 0)
    是内核的一部分,负责把内存页换入/换出 swap 空间
  • 用户无法直接“配置 swapper”,但可以通过 swap 的使用方式 来影响它的行为。

二、Ubuntu 中 swap 的常见设置位置

1️⃣ 查看当前 swap 状态

swapon --show
free -h

2️⃣ 设置 swap 的使用倾向(最重要)

这是一个核心参数

cat /proc/sys/vm/swappiness
  • 默认值:60
  • 含义:
    • 值越大 → 越倾向于使用 swap
    • 值越小 → 越倾向于留在物理内存

临时修改(重启失效)

sudo sysctl vm.swappiness=10

永久修改

编辑:

sudo nano /etc/sysctl.conf

添加或修改为:

vm.swappiness=10

保存后生效:

sudo sysctl -p

推荐桌面系统:10–30
服务器视内存情况而定


3️⃣ 设置 swap 缓存压力

cat /proc/sys/vm/vfs_cache_pressure
  • 默认:100
  • 建议调低(减少回收 dentry/inode 缓存):
sudo sysctl vm.vfs_cache_pressure=50

同样可写入 /etc/sysctl.conf 永久生效。


4️⃣ 创建 / 删除 swap(物理设置)

✅ 使用 swap 文件(Ubuntu 常见)

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

开机自动挂载:

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

❌ 关闭 swap

sudo swapoff -a

5️⃣ 禁用 swap(不推荐除非你知道在做什么)

sudo swapoff -a

永久禁用:

sudo nano /etc/fstab

注释掉 swap 相关行。


三、Ubuntu 桌面 vs 服务器

场景 建议
桌面(8G+ 内存) swappiness=10
桌面(4G 内存) swappiness=30–60
服务器(数据库) swappiness=1–10
容器/云主机 通常关闭 swap

四、常见误区

❌ “swapper 在哪里配置?”
✅ swapper 是内核行为,不能单独配置

❌ “swap 一定要开”
✅ 视内存和用途而定


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

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

我可以给你一套最优 swap 配置方案

0