温馨提示×

ubuntu swapper出错怎么办

小樊
45
2026-09-12 13:20:40
栏目: 智能运维

在 Ubuntu 中,swapper / swap 相关错误很常见,原因也很多。下面我按常见场景 + 对应解决办法给你说明,你可以对照自己的情况处理。


一、常见 swap 错误类型

1️⃣ 开机提示

swapper: page allocation failure

Unable to find swap-space signature

2️⃣ 系统中 swap 未生效

free -h
# swap 显示 0B

3️⃣ 休眠(hibernate)失败

Failed to hibernate system

二、快速排查步骤(必做)

✅ 1. 查看当前 swap 状态

swapon --show
free -h
  • 没有输出 → 说明 没有启用 swap
  • 有输出但异常 → 看后面对应处理

三、没有 swap(最常见)

✅ 方案 A:创建 swap 文件(推荐)

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

四、swap 分区损坏 / 签名错误

错误示例:

Unable to find swap-space signature

✅ 重新格式化 swap 分区

假设 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 内存分配失败(内核级)

错误:

swapper: page allocation failure

✅ 常见原因

  • 内存 + swap 都耗尽
  • 内核 bug
  • 驱动问题(尤其显卡 / 网卡)

✅ 解决思路

  1. 增加 swap
  2. 查看是不是 OOM:
dmesg | grep -i oom
  1. 更新内核:
sudo apt update
sudo apt upgrade
  1. 如果是服务器,考虑:
sudo sysctl vm.min_free_kbytes=65536

六、休眠失败(hibernate)

✅ 确认 swap ≥ 内存

free -h

✅ 配置 resume

cat /etc/fstab
# 找到 swap 的 UUID
sudo nano /etc/default/grub

修改:

GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=你的swapUUID"

更新:

sudo update-grub

七、如果你愿意,我可以更精准帮你

请把以下信息发我之一:

  • 完整报错日志(dmesg / journalctl)
  • swapon --show 输出
  • ✅ Ubuntu 版本(lsb_release -a
  • ✅ 是 桌面版还是服务器

我可以直接告诉你具体哪一步该改什么

0