温馨提示×

debian swapper如何调优先级

小樊
45
2026-09-19 12:51:47
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)里,swapper(swap)本身没有“优先级”这个概念,通常是指 swap 空间的优先级(swap priority),也就是多个 swap 分区 / 文件之间谁先被使用。

下面按常见场景说明。


一、查看当前 swap 优先级

swapon --show

cat /proc/swaps

示例输出:

NAME      TYPE      SIZE USED PRIO
/dev/sda2 partition 4G   0B   -2
/swapfile file      2G   0B   -3

PRIO 就是优先级。


二、设置 swap 优先级的方法

方法 1:/etc/fstab(永久生效,推荐)

编辑 /etc/fstab

sudo nano /etc/fstab

示例:

/dev/sda2   none  swap  sw,pri=10  0 0
/swapfile   none  swap  sw,pri=5   0 0

说明:

  • pri= 后面是优先级
  • 数值越大,优先级越高
  • 相同优先级 → 系统会轮询( striped )使用

保存后重新挂载:

sudo swapoff -a
sudo swapon -a

方法 2:命令行临时调整(重启失效)

sudo swapoff /swapfile
sudo swapon -p 5 /swapfile

三、常见策略建议

✅ 想让 SSD 先用于 swap

/dev/nvme0n1p2  none  swap  sw,pri=100  0 0
/dev/sda2       none  swap  sw,pri=10   0 0

✅ 多个 swap 平均使用(性能优先)

/dev/sda2  none swap sw,pri=10 0 0
/dev/sdb2  none swap sw,pri=10 0 0

四、你可能是想问的“另一种情况”

1️⃣ 调整 swappiness(使用 swap 的倾向)

cat /proc/sys/vm/swappiness

默认一般是 60

修改(临时):

sudo sysctl vm.swappiness=10

永久:

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

值越小 → 越不爱用 swap
值越大 → 越早用 swap


2️⃣ OOM / 进程优先级(不是 swap)

如果是“某个进程占用 swap 太多”,那是:

  • nice
  • renice
  • cgroup 相关的问题

五、总结一句话

Debian 中调 swap 优先级 = 在 /etc/fstab 里用 pri= 设置,数值越大越优先使用。

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

  • 你是 SSD + HDD
  • 还是 多 swap 分区
  • 或是 想减少 swap 使用

我可以给你一份最优配置示例

0