在 Ubuntu 里,“swapper” 相关报错通常不是指某个独立程序,而多半和 swap 分区 / swap 文件 / 内存交换机制 有关。常见原因和排查方法如下:
报错类似:
swapper: unable to find swap-space signature
或系统日志中有:
swapon failed / no swap devices
原因
/etc/fstab 中 swap 配置错误解决
# 查看当前 swap
swapon --show
free -h
# 如果没有 swap,可创建 swap 文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 写入 fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
/etc/fstab 中 swap 配置错误报错:
Failed to activate swap /dev/sdX
检查
cat /etc/fstab
lsblk
blkid
修复
blkid 修正Ubuntu 某些版本默认启用 zRAM:
swapper: swapon: Device or resource busy
处理
# 查看 zram
ls /dev/zram*
# 临时关闭
sudo swapoff /dev/zram0
如果你尝试休眠:
swapper: not enough swap space
原因
resume= 内核参数有时 dmesg 中看到:
swapper/0: page allocation failure
这其实是 内核线程名(swapper),不是真的“swapper 程序”,而是:
swapon --show
free -h
cat /etc/fstab
dmesg | grep -i swap
你可以把具体报错文字或:
journalctl -xe | grep -i swap
的输出贴出来,我可以精准判断是哪一种情况。