温馨提示×

如何管理Debian Swapper

小樊
41
2026-08-24 10:16:01
栏目: 智能运维

在 Debian 系统中,“swapper” 通常指的是 swap 交换空间(swap space) 的管理,包括 swap 分区、swap 文件以及相关的内核参数。下面从查看、创建、启用/禁用、优化、故障排查几个方面系统说明如何管理 Debian 的 swap。


一、查看当前 Swap 使用情况

1. 查看 swap 状态

swapon --show

free -h

示例输出:

NAME      TYPE      SIZE USED PRIO
/swapfile file        2G   0B   -2

二、Swap 的类型

Debian 支持两种 swap 形式:

  1. Swap 分区(传统方式)
  2. Swap 文件(更灵活,推荐)

三、创建 Swap(推荐:Swap 文件)

1. 创建 swap 文件

sudo fallocate -l 2G /swapfile

如果 fallocate 不可用:

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

2. 设置权限

sudo chmod 600 /swapfile

3. 格式化 swap

sudo mkswap /swapfile

4. 启用 swap

sudo swapon /swapfile

5. 开机自动挂载

编辑 /etc/fstab

sudo nano /etc/fstab

添加:

/swapfile none swap sw 0 0

四、禁用或删除 Swap

1. 临时禁用

sudo swapoff /swapfile

2. 永久删除

sudo swapoff /swapfile
sudo rm /swapfile

并从 /etc/fstab 中删除对应行。


五、Swap 参数优化(重要)

1. Swappiness(交换倾向)

查看当前值:

cat /proc/sys/vm/swappiness

默认值通常是 60

修改 swappiness

临时:

sudo sysctl vm.swappiness=10

永久(推荐):

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=10

说明:

  • 0:尽量不用 swap
  • 10–30:桌面/服务器推荐
  • 60+:容易频繁换页

2. vfs_cache_pressure

控制内核回收缓存的倾向:

cat /proc/sys/vm/vfs_cache_pressure

推荐设置:

sudo sysctl vm.vfs_cache_pressure=50

永久生效:

vm.vfs_cache_pressure=50

六、Swap 分区管理(传统方式)

查看分区

lsblk
sudo fdisk -l

启用已有 swap 分区

sudo swapon /dev/sdXn

禁用

sudo swapoff /dev/sdXn

七、常见问题排查

1. Swap 未生效

  • 检查:
swapon --show
  • 检查 /etc/fstab 是否写错
  • 检查 swap 文件权限是否为 600

2. 系统仍然卡顿

  • 内存是否真的不足
  • swappiness 是否过高
  • 是否有内存泄漏进程

查看内存占用:

top
htop

3. Swap 文件创建失败

  • 磁盘空间不足
  • 文件系统不支持(如某些网络文件系统)

八、推荐配置(通用)

场景 Swap 大小 swappiness
小内存(≤2G) 2×内存 10
普通桌面 等于内存 10–20
服务器 1–2G 1–10
休眠(hibernate) ≥内存 默认

九、总结命令速查

swapon --show
free -h
sudo swapon /swapfile
sudo swapoff /swapfile
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10

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

  • 物理机 / 虚拟机 / 云服务器
  • 内存大小
  • 是否用于 桌面 / 服务器 / Docker / K8s

我可以给你一套最合适的具体配置方案

0