在 Ubuntu 中,swapper / swap 相关错误很常见,原因也很多。下面我按常见场景 + 对应解决办法给你说明,你可以对照自己的情况处理。
swapper: page allocation failure
或
Unable to find swap-space signature
free -h
# swap 显示 0B
Failed to hibernate system
swapon --show
free -h
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
开机自动挂载:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
错误示例:
Unable to find swap-space signature
假设 swap 分区是 /dev/sda2
sudo swapoff /dev/sda2
sudo mkswap /dev/sda2
sudo swapon /dev/sda2
更新 fstab(UUID 方式更稳定):
blkid /dev/sda2
sudo nano /etc/fstab
示例:
UUID=xxxx-none swap sw 0 0
错误:
swapper: page allocation failure
dmesg | grep -i oom
sudo apt update
sudo apt upgrade
sudo sysctl vm.min_free_kbytes=65536
free -h
cat /etc/fstab
# 找到 swap 的 UUID
sudo nano /etc/default/grub
修改:
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=你的swapUUID"
更新:
sudo update-grub
请把以下信息发我之一:
swapon --show 输出lsb_release -a)我可以直接告诉你具体哪一步该改什么。