在 Debian 系统中,swapper(交换分区/交换文件相关机制)常见错误通常出现在系统启动、内存不足、休眠(hibernate)或磁盘管理等场景。下面按常见现象 → 原因 → 解决办法整理。
free -h
# swap 显示 0B
或
swapon --show
# 无输出
/etc/fstab 中 swap 配置错误mkswap 未执行)# 分区方式
mkswap /dev/sdXn
swapon /dev/sdXn
# 文件方式
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
/etc/fstab 示例:
UUID=xxxx none swap sw 0 0
# 或
/swapfile none swap sw 0 0
swapon: /dev/sdXn: invalid argument
或
Job swapon.device/start failed
blkid
mkswap /dev/sdXn
systemctl hibernate
# 失败或立刻唤醒
确认:
free -h
swap ≥ RAM
编辑:
/etc/default/grub
添加:
resume=UUID=xxx
(swap file 用 resume_offset=)
更新:
update-grub
update-initramfs -u
top
# kswapd0 CPU 很高
查看:
cat /proc/sys/vm/swappiness
临时调整:
sysctl vm.swappiness=10
永久:
/etc/sysctl.conf
vm.swappiness=10
加内存或扩大 swap。
dev-sdaX.swap timeoutswapoff /dev/sdXn
删除 fstab 对应行
更新:
update-initramfs -u
同时启用:
确认使用哪种:
lsmod | grep zram
只保留一种方案。
手动创建 swap file(推荐):
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
| 问题 | 关键词 |
|---|---|
| 不生效 | fstab / UUID |
| 启动失败 | swapon failed |
| 休眠失败 | resume |
| CPU 高 | kswapd0 |
| 卡启动 | 残留 swap |
如果你愿意,可以贴 具体报错信息或 fstab 内容,我可以直接帮你定位。