温馨提示×

如何迁移debian swap位置

小樊
42
2026-10-19 15:18:43
栏目: 智能运维

在 Debian(以及其他 Linux 发行版)中,“迁移 swap 位置”通常有两种常见含义:

  1. 从某个分区迁移到另一个分区
  2. 从分区迁移到 swap 文件(或反过来)

下面我分别说明常见做法。


一、查看当前 swap 情况

swapon --show
free -h

你会看到类似:

NAME      TYPE      SIZE USED PRIO
/dev/sda2 partition   4G   0B   -2

二、从 swap 分区迁移到另一个 swap 分区

1. 关闭旧 swap

sudo swapoff /dev/sda2

2. 创建新 swap 分区(假设为 /dev/sdb1)

sudo mkswap /dev/sdb1
sudo swapon /dev/sdb1

3. 修改 /etc/fstab

注释或删除旧 swap,添加新 swap:

# /dev/sda2 none swap sw 0 0
/dev/sdb1 none swap sw 0 0

⚠️ 修改 fstab 前建议备份


三、从 swap 分区迁移到 swap 文件(推荐方式)

1. 关闭现有 swap

sudo swapoff -a

2. 创建 swap 文件(例如 4G)

sudo fallocate -l 4G /swapfile
# 如果 fallocate 不支持:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

3. 设置权限

sudo chmod 600 /swapfile

4. 格式化为 swap

sudo mkswap /swapfile

5. 启用 swap

sudo swapon /swapfile

6. 修改 /etc/fstab

/swapfile none swap sw 0 0

并删除或注释原 swap 分区行。


四、从 swap 文件迁移回 swap 分区

1. 关闭 swap 文件

sudo swapoff /swapfile
sudo rm /swapfile

2. 启用 swap 分区

sudo mkswap /dev/sda2
sudo swapon /dev/sda2

3. 更新 /etc/fstab

/dev/sda2 none swap sw 0 0

五、验证

swapon --show
free -h

六、注意事项

  • 修改 /etc/fstab 错误可能导致系统无法启动
  • 服务器建议 swap = 内存的 1–2 倍(视场景)
  • 使用 SSD 时,swap 文件性能通常足够

如果你能告诉我:

  • 当前是 分区还是文件
  • 想迁移到 分区 / 文件 / 新磁盘

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

0 踩