在 Debian 系统中,swapper(交换分区/交换文件) 出现故障通常表现为:
swapon failed / cannot allocate memoryfree -h 看不到 swapswapper / swap 相关错误下面按最常见原因 + 对应修复方法给你一个实用排查指南。
free -h
swapon --show
lsblk
修复:重新启用
如果是分区(如 /dev/sda2):
swapon /dev/sda2
如果是文件:
swapon /swapfile
开机自动挂载检查:
cat /etc/fstab
应有类似:
/dev/sda2 none swap sw 0 0
# 或
/swapfile none swap sw 0 0
现象:swapon: /swapfile: read swap header failed
修复(以 swapfile 为例):
swapoff /swapfile
rm /swapfile
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
现象:开机卡在 activating swap 或进入 emergency mode
修复:
/etc/fstab示例正确写法:
UUID=xxxx none swap sw 0 0
df -h
如果是 swapfile 所在分区满了:
日志示例:
BUG: swapper
unable to handle kernel paging
通常是:
处理:
memtester 1G 1
# 或重启做 memtest
并考虑:
apt update
apt upgrade
# 创建 2G swap
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
你可以贴出:
journalctl -xe | grep -i swapdmesg | grep -i swap我可以直接帮你判断是 配置问题 / 文件系统问题 / 硬件问题。