温馨提示×

ubuntu swapper为何报错

小樊
45
2026-10-03 16:26:53
栏目: 智能运维

在 Ubuntu 里,“swapper” 相关报错通常不是指某个独立程序,而多半和 swap 分区 / swap 文件 / 内存交换机制 有关。常见原因和排查方法如下:


一、最常见的几种“swapper 报错”场景

1. swap 分区不存在或失效

报错类似:

swapper: unable to find swap-space signature

或系统日志中有:

swapon failed / no swap devices

原因

  • 安装时未创建 swap
  • swap 分区被误删
  • /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

2. /etc/fstab 中 swap 配置错误

报错:

Failed to activate swap /dev/sdX

检查

cat /etc/fstab
lsblk
blkid

修复

  • UUID 写错 → 用 blkid 修正
  • 磁盘改名 → 改为正确设备名或 UUID

3. 使用 zRAM / zswap 导致冲突

Ubuntu 某些版本默认启用 zRAM:

swapper: swapon: Device or resource busy

处理

# 查看 zram
ls /dev/zram*

# 临时关闭
sudo swapoff /dev/zram0

4. 休眠(hibernate)相关报错

如果你尝试休眠:

swapper: not enough swap space

原因

  • swap 小于内存
  • 未配置 resume= 内核参数

5. 内核日志中的 “swapper” 并非错误

有时 dmesg 中看到:

swapper/0: page allocation failure

这其实是 内核线程名(swapper),不是真的“swapper 程序”,而是:

  • 内存耗尽(OOM)
  • 内存碎片严重

二、快速自查清单

swapon --show
free -h
cat /etc/fstab
dmesg | grep -i swap

三、如果你愿意

你可以把具体报错文字或:

journalctl -xe | grep -i swap

的输出贴出来,我可以精准判断是哪一种情况。

0 踩