在 Debian 系统中,swapper / swap 相关出错通常不是单一问题,而是多种原因导致的。下面我按常见现象 → 原因 → 解决办法给你一个实用排查指南。
Activating swap partition...
swapper: out of memory
failed to activate swap
swapon: /dev/sdX: read swap header failed
swapon --show
free -h
cat /proc/swaps
如果是空的,说明 swap 没启用。
检查分区
lsblk
blkid
修复方法(重建 swap)
假设是 /dev/sda2:
swapoff /dev/sda2
mkswap /dev/sda2
swapon /dev/sda2
然后确认 UUID:
blkid /dev/sda2
编辑 /etc/fstab:
UUID=xxxx none swap sw 0 0
错误示例:
/dev/sda2 swap swap defaults 0 0
但设备名变了(如 sda → sdb)
✅ 推荐用 UUID
blkid
修改:
UUID=你的UUID none swap sw 0 0
测试:
mount -a
swapon -a
创建 swap 文件:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
/etc/fstab:
/swapfile none swap sw 0 0
这是内存真的不够:
解决方式:
临时缓解:
sysctl vm.swappiness=10
Debian 新版可能用:
zramctl
如果冲突:
systemctl disable zram-generator
在 GRUB 启动项加:
init=/bin/bash
注释或删除 /etc/fstab 中 swap 行,然后重启。
swappiness = 10~30
sysctl vm.swappiness=20
永久:
/etc/sysctl.conf
vm.swappiness=20
请贴出以下信息之一:
journalctl -xe | grep swap)cat /etc/fstablsblkcat /etc/os-release)我可以直接告诉你具体改哪一行。