温馨提示×

debian swapper如何调优

小樊
71
2026-09-01 10:47:27
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,swapper / swap 的调优主要涉及 swap 空间大小、swappiness、缓存压力、swap 文件/分区选择、I/O 调度 等方面。下面按“实用优先”的方式给你一份调优指南。


一、先确认当前 swap 状态

free -h
swapon --show
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/vfs_cache_pressure

二、swappiness(最重要)

1. 什么是 swappiness

  • 范围:0–100
  • 值越大:越倾向于使用 swap
  • 值越小:越倾向于保留物理内存

2. 推荐值

场景 建议值
桌面 / 开发机 10–20
服务器(内存充足) 1–10
内存紧张的小机器 30–60
数据库(如 MySQL) 1–5

3. 临时修改

sysctl vm.swappiness=10

4. 永久修改

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

三、vfs_cache_pressure(常被忽略)

控制 inode/dentry 缓存 回收倾向。

cat /proc/sys/vm/vfs_cache_pressure
  • 默认:100
  • 服务器建议:50(更保留缓存)
sysctl vm.vfs_cache_pressure=50

四、Swap 类型选择(分区 vs 文件)

1. Swap 分区(性能更好)

swapon --show

2. Swap 文件(灵活)

创建示例:

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

✅ 建议 SSD 上使用 swap 文件,方便调整大小


五、Swap 大小建议(2024 年参考)

内存 Swap
≤ 2GB 2× RAM
2–8GB 1× RAM
8–32GB 4–8GB
≥ 32GB 2–4GB(或仅用于休眠)

⚠️ 如果是 云服务器,2–4GB swap 足够


六、禁用 swap(何时合适?)

适合:

  • 内存非常充足
  • 低延迟服务(Redis、DB)
sudo swapoff -a

并在 /etc/fstab 中注释 swap 行


七、使用 zram(强烈推荐桌面/小内存机器)

Debian 支持 zram(内存压缩 swap):

sudo apt install zram-tools

配置:

cat /etc/default/zramswap

示例:

ALGO=lz4
SIZE=50%

重启服务:

sudo systemctl restart zramswap

✅ zram 比磁盘 swap 快得多


八、I/O 调度(SSD 场景)

cat /sys/block/sda/queue/scheduler

SSD 推荐:

echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler

九、监控 swap 使用是否正常

vmstat 1
sar -W 1

关注:

  • si/so 长期 > 0 → 内存不足
  • swap 使用但内存空闲 → swappiness 太高

十、总结(推荐方案)

✅ 通用服务器

vm.swappiness=10
vm.vfs_cache_pressure=50
swap = 2–4GB

✅ 桌面 / 笔记本

vm.swappiness=20
zram + 少量 swap

✅ 高性能服务

vm.swappiness=1
swapoff(如可行)

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

  • Debian 版本
  • 内存大小
  • 用途(服务器 / 桌面 / 数据库 / Docker)

我可以给你一套 精确参数配置。

0 踩