温馨提示×

如何调整debian swap权重

小樊
39
2026-10-07 22:35:20
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,swap 权重通常指的是 swappiness(交换倾向),也就是系统使用 swap 的积极程度。下面按常见场景说明如何调整。


一、查看当前 swap 权重(swappiness)

cat /proc/sys/vm/swappiness

默认值通常是:

  • 60(较积极使用 swap)
  • 范围:0 – 100

含义:

  • 0:尽量不使用 swap(除非内存极度紧张)
  • 100:积极使用 swap

二、临时调整 swap 权重(重启失效)

sudo sysctl vm.swappiness=10

或:

echo 10 | sudo tee /proc/sys/vm/swappiness

✅ 立即生效,但重启后恢复默认。


三、永久调整 swap 权重(推荐)

方法 1:使用 sysctl(最常用)

编辑配置文件:

sudo nano /etc/sysctl.conf

在末尾添加:

vm.swappiness=10

保存后执行:

sudo sysctl -p

方法 2:单独配置文件(更清晰)

sudo nano /etc/sysctl.d/99-swappiness.conf

内容:

vm.swappiness=10

应用:

sudo sysctl --system

四、不同场景的推荐值

场景 建议 swappiness
桌面 / 笔记本 10 – 20
服务器(大内存) 1 – 10
内存极小 60 – 100
数据库服务器 1 – 5

⚠️ 注意:
swappiness=0 并不代表“永远不用 swap”,只是最后才用。


五、相关参数(进阶)

1. vfs_cache_pressure(缓存回收)

vm.vfs_cache_pressure=50
  • 默认 100
  • 调低可更保留目录/文件缓存

2. 查看 swap 使用情况

free -h
swapon --show

六、如果你指的是“多个 swap 的优先级权重”

如果你是想说 多个 swap 分区/文件的权重,那是 swap priority:

sudo swapon --priority 10 /dev/sdb1

或在 /etc/fstab:

/dev/sdb1 none swap sw,pri=10 0 0
/dev/sdc1 none swap sw,pri=10 0 0
  • 数值越大,越优先使用
  • 相同优先级会轮询使用

如果你能说明:

  • 是 swappiness 还是 多 swap 分区权重
  • 是 桌面 / 服务器 / 容器环境

我可以给你更精确的建议。

0 踩