温馨提示×

debian swapper调优有哪些

小樊
34
2026-10-21 21:54:26
栏目: 智能运维

在 Debian(以及其他 Linux 发行版)中,swapper / swap 调优主要涉及 swap 使用策略、swap 大小、swap 文件/分区、swappiness、缓存回收、I/O 调度、zswap/zram 等方面。下面按实用角度系统说明。


一、核心参数:swappiness(最重要)

1. 查看当前值

cat /proc/sys/vm/swappiness

默认值通常是 60

2. 含义

  • 0:尽量不使用 swap(除非内存极度紧张)
  • 10~30:服务器推荐
  • 60:桌面默认
  • 100:积极使用 swap

3. 修改(临时)

sysctl vm.swappiness=10

4. 永久生效

/etc/sysctl.conf
vm.swappiness=10

适用于:

  • 数据库服务器:10~20
  • 桌面:30~60
  • 内存极小:60+

二、swap 大小与类型选择

1. swap 分区(传统)

  • 性能稳定
  • 无法动态调整大小

2. swap 文件(Debian 推荐)

创建示例:

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

永久启用:

/etc/fstab
/swapfile none swap sw 0 0

✅ 优点:

  • 易调整
  • 适合云服务器

三、内存回收相关参数

1. vfs_cache_pressure

控制 inode/dentry 缓存回收

cat /proc/sys/vm/vfs_cache_pressure
  • 默认 100
  • 提高(如 200):更快释放缓存
  • 降低(如 50):更保留文件缓存
vm.vfs_cache_pressure=50

2. min_free_kbytes

保证系统保留的最小空闲内存

cat /proc/sys/vm/min_free_kbytes

一般不要随便改,除非 OOM 频繁


四、使用 zram(强烈推荐,尤其低内存)

1. 原理

  • 用压缩内存当 swap
  • 极快,几乎无磁盘 I/O

2. Debian 安装

apt install zram-tools

配置:

/etc/default/zramswap
ALGO=lz4
SIZE=50%
systemctl enable --now zramswap

✅ 适合:

  • 笔记本
  • 小内存 VPS
  • 桌面系统

五、使用 zswap(内核级压缩 swap)

特点

  • 在 swap 前先压缩
  • 需要物理 swap 存在

启用

/etc/default/grub
GRUB_CMDLINE_LINUX="zswap.enabled=1 zswap.compressor=lz4"
update-grub
reboot

六、I/O 层面优化(swap 在磁盘时)

1. 使用 SSD

swap 在 HDD 上性能很差

2. I/O 调度器

SSD 推荐:

cat /sys/block/sda/queue/scheduler

推荐 none 或 mq-deadline


七、查看 swap 使用情况

free -h
swapon --show
cat /proc/meminfo | grep Swap

八、OOM 与 swap 的关系

  • swap ≠ 防 OOM
  • swap 只是延迟 OOM
  • 关键仍是:
    • 控制进程内存
    • 限制服务(systemd MemoryMax)

九、典型调优方案示例

1. 服务器(32G+)

vm.swappiness=10
vm.vfs_cache_pressure=50

2. 小内存 VPS(2G)

vm.swappiness=30
zram enabled

3. 桌面

vm.swappiness=40
zswap enabled

十、不建议的做法

❌ swappiness=0(除非极特殊) ❌ 完全禁用 swap(系统不稳定) ❌ swap 在慢速 HDD


如果你愿意,我可以:

  • 根据你的 Debian 版本 + 内存 + 用途 给一套具体参数
  • 或分析你当前的 free / swapon / sysctl 输出

直接贴信息即可。

0 踩