温馨提示×

如何配置Debian swapper

小樊
36
2026-07-28 00:15:15
栏目: 智能运维

在 Debian 系统中,swapper 通常指的是 swap 交换空间 的配置(包括 swap 分区或 swap 文件)。下面我会从原理 → 创建 → 启用 → 参数优化 → 常见问题一步步说明,适用于 Debian 10/11/12。


一、什么是 Debian 的 swapper

  • swapper = 使用 swap 空间的机制
  • swap 可以是:
    • swap 分区
    • swap 文件
  • 作用:
    • 内存不足时把不活跃内存页换出到磁盘
    • 休眠(hibernate)时保存内存数据(需要 swap ≥ 内存)

二、检查当前 swap 状态

swapon --show
free -h
lsblk
  • 如果没有输出 swap,说明当前未启用 swap

三、方式一:使用 swap 文件(推荐,最灵活)

1️⃣ 创建 swap 文件(例如 4G)

sudo fallocate -l 4G /swapfile

如果 fallocate 不可用(某些文件系统):

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

2️⃣ 设置权限

sudo chmod 600 /swapfile

3️⃣ 格式化为 swap

sudo mkswap /swapfile

4️⃣ 启用 swap

sudo swapon /swapfile

5️⃣ 写入 fstab(开机自动挂载)

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

四、方式二:使用 swap 分区

1️⃣ 查看磁盘分区

lsblk
sudo fdisk -l

2️⃣ 创建 swap 分区(假设是 /dev/sda3

sudo mkswap /dev/sda3
sudo swapon /dev/sda3

3️⃣ 写入 fstab

echo '/dev/sda3 none swap sw 0 0' | sudo tee -a /etc/fstab

五、调整 swap 使用策略(重要)

1️⃣ swappiness(swap 倾向)

查看当前值:

cat /proc/sys/vm/swappiness

默认值通常是 60

2️⃣ 临时修改

sudo sysctl vm.swappiness=10

3️⃣ 永久修改

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=10

推荐值:

  • 桌面 / 服务器:10–30
  • 内存极小(≤2G):30–60
  • 数据库服务器:5–10(减少 swap)

六、关闭或删除 swap

临时关闭

sudo swapoff -a

永久删除

  1. 注释 /etc/fstab 中的 swap 行
  2. 删除 swap 文件或分区
sudo rm /swapfile

七、休眠(hibernate)相关配置(可选)

休眠需要:

  • swap ≥ 内存
  • 在 GRUB 中指定 resume 参数

示例:

sudo nano /etc/default/grub

添加:

GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/sda3"

更新 grub:

sudo update-grub

八、常见问题

❓ swap 不生效?

  • 检查 fstab
  • 是否执行 swapon
  • 文件系统是否支持(如某些 ZFS 场景)

❓ swap 文件创建失败?

  • 确保磁盘有足够空间
  • 使用 dd 而不是 fallocate

九、推荐配置总结

场景 swap 大小 swappiness
桌面(8G+ RAM) 2–4G 10
服务器 1–2 倍内存 5–10
小内存 VPS ≥ 内存 30

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

  • ✅ Debian 版本
  • ✅ 是物理机 / 虚拟机 / VPS
  • ✅ 内存大小
  • ✅ 是否用于数据库 / Docker / 桌面

我可以给你最优的 swap 配置方案

0