在 Debian(以及其他 Linux 发行版)中,“迁移 swap 分区”通常指把 swap 从旧分区换到新分区(或文件)。下面按常见场景一步一步说明。
先查看当前 swap 使用情况:
swapon --show
free -h
lsblk
假设:
/dev/sda2/dev/sdb1(或新建一个 swap 文件)sudo swapoff /dev/sda2
如果提示“device is busy”,先关闭所有使用 swap 的程序,或重启后再操作。
sudo mkswap /dev/sdb1
sudo swapon /dev/sdb1
验证:
swapon --show
/etc/fstab编辑:
sudo nano /etc/fstab
把旧 swap 行:
/dev/sda2 none swap sw 0 0
改为:
/dev/sdb1 none swap sw 0 0
或推荐使用 UUID(更稳妥):
sudo blkid /dev/sdb1
UUID=xxxx-xxxx none swap sw 0 0
sudo fallocate -l 4G /swapfile
# 如果 fallocate 不支持:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
/swapfile none swap sw 0 0
如果是分区:
sudo swapoff /dev/sda2
然后从 /etc/fstab 删除对应行,旧分区可重新格式化使用。
一般:
休眠需要:
swap ≥ 内存大小
如果你愿意,可以告诉我:
lsblk 输出)我可以给你更精确的命令。