温馨提示×

怎样调整debian swapper大小

小樊
43
2026-09-25 15:53:56
栏目: 智能运维

在 Debian 中,**swapper(swap)**通常有两种存在形式:

  1. swap 分区(partition)
  2. swap 文件(swap file)

调整方式取决于你当前使用的是哪一种。下面分别说明。


一、先确认当前的 swap 情况

swapon --show
free -h
lsblk
  • 如果看到 /dev/sdXN 或 /dev/nvmeXnYpZ → 使用的是 swap 分区
  • 如果看到 /swapfile 或类似路径 → 使用的是 swap 文件

二、调整 swap 文件大小(推荐、最灵活)

1. 关闭现有 swap 文件

sudo swapoff /swapfile

2. 删除旧文件(可选)

sudo rm /swapfile

3. 创建新的 swap 文件(例如 8G)

sudo fallocate -l 8G /swapfile

如果 fallocate 不支持:

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

4. 设置权限

sudo chmod 600 /swapfile

5. 格式化为 swap

sudo mkswap /swapfile

6. 启用 swap

sudo swapon /swapfile

7. 确保开机自动挂载

检查 /etc/fstab 是否有:

/swapfile none swap sw 0 0

三、调整 swap 分区大小(较复杂)

情况 A:使用 LVM

如果是 LVM 的 swap 逻辑卷:

sudo swapoff /dev/mapper/debian-swap
sudo lvresize -L +4G /dev/mapper/debian-swap
sudo mkswap /dev/mapper/debian-swap
sudo swapon /dev/mapper/debian-swap

情况 B:普通分区

不能直接 resize,需要:

  1. 删除旧 swap 分区
  2. 新建更大/更小的 swap 分区
  3. 更新 /etc/fstab 中的 UUID

示例步骤(危险,需谨慎):

sudo swapoff /dev/sdXN
sudo fdisk /dev/sdX   # 删除并重建分区
sudo mkswap /dev/sdXN
sudo swapon /dev/sdXN

四、调整 swappiness(不是大小,但常一起调)

cat /proc/sys/vm/swappiness

临时修改:

sudo sysctl vm.swappiness=10

永久生效:

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

五、建议大小参考

  • 内存 ≤ 2GB:swap = 2×RAM
  • 内存 2–8GB:swap = RAM
  • 内存 > 8GB:swap = 4–8GB(除非休眠)

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

  • Debian 版本
  • 是服务器还是桌面
  • 当前 swap 是文件还是分区

我可以给你更精确的操作命令。

0 踩