温馨提示×

怎么设置ubuntu swap优先级

小樊
35
2026-09-28 10:12:53
栏目: 智能运维

在 Ubuntu(以及一般的 Linux 系统)中,swap 优先级主要通过 swappiness 和 swap 分区的 priority 两个层面来控制。下面分别说明。


一、调整 swap 使用倾向(swappiness)

swappiness 决定系统什么时候开始使用 swap,而不是 swap 之间的优先级。

查看当前值

cat /proc/sys/vm/swappiness

默认值通常是 60。

临时修改

sudo sysctl vm.swappiness=10

永久修改

编辑配置文件:

sudo nano /etc/sysctl.conf

添加或修改:

vm.swappiness=10

生效:

sudo sysctl -p

值越小越“不愿意”用 swap(适合内存充足的服务器)
值越大越“积极”用 swap(适合桌面或内存紧张环境)


二、设置多个 swap 的优先级(priority)

如果你有 多个 swap(分区或文件),可以通过 priority 控制谁先被使用。

查看当前 swap

swapon --show

在 /etc/fstab 中设置 priority

示例:

/dev/sdb1   none   swap   sw,pri=100   0   0
/swapfile   none   swap   sw,pri=10    0   0

说明:

  • pri=100 优先级更高,会优先使用
  • pri=0 最低
  • 相同 priority 时会轮询使用(负载均衡)

立即生效(不重启)

sudo swapoff -a
sudo swapon -a

三、常见场景建议

1. SSD + HDD 双 swap

/dev/nvme0n1p2   none   swap   sw,pri=100   0   0
/dev/sda1        none   swap   sw,pri=1     0   0

让 SSD swap 优先。

2. 只用一个 swap 文件

不需要设置 priority,只调 swappiness 即可。


四、补充说明(容易混淆)

  • swappiness ≠ swap 优先级
    • swappiness:是否用 swap
    • priority:多个 swap 谁先用
  • zram / zswap 也有独立参数,不在本文范围(如需要可继续问)

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

  • 你是 桌面还是服务器
  • 用的是 swap 分区 / swap 文件 / 多个 swap

我可以给你一套最适合你的配置。

0 踩