温馨提示×

ubuntu swap出错怎么办

小樊
42
2026-10-10 03:35:52
栏目: 智能运维

在 Ubuntu 中遇到 swap 出错(swap 无法启用、swap 分区/文件异常、休眠失败、开机报错等)时,可以按下面思路一步步排查和解决。


一、先确认 swap 当前状态

swapon --show
free -h
  • 如果 swapon --show 没有任何输出,说明 swap 没启用
  • 如果 free -h 中 Swap 为 0,也表示未生效

二、常见错误及对应解决方法

1️⃣ swap 分区 UUID 错误(最常见)

现象

  • 开机提示 failed to activate swap
  • /etc/fstab 中的 swap UUID 不对

解决

sudo blkid

找到 swap 分区的 UUID,然后:

sudo nano /etc/fstab

修改为类似:

UUID=xxxx-xxxx-xxxx  none  swap  sw  0  0

保存后:

sudo swapoff -a
sudo swapon -a

2️⃣ swap 文件损坏或未创建

现象

  • 使用 swap 文件但提示 swapon failed: invalid argument

重新创建 swap 文件

sudo swapoff /swapfile
sudo rm /swapfile

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

写入 fstab(如果是文件):

/swapfile none swap sw 0 0

3️⃣ 磁盘空间不足

现象

  • swapon: cannot allocate memory
  • 创建 swap 文件失败

解决

  • 清理磁盘:
df -h
  • 减小 swap 大小(如 2G)

4️⃣ 休眠(hibernate)相关 swap 错误

现象

  • 休眠失败
  • 提示 resume target not found

检查

cat /etc/default/grub | grep resume

确保 resume=UUID=swap分区UUID

更新:

sudo update-grub

5️⃣ LVM / 加密磁盘 swap 问题

如果是 LVM 或 LUKS:

  • 确认 swap 在 LVM 中已激活
  • 检查:
sudo vgchange -ay
sudo swapon -a

三、临时关闭 swap(排错用)

sudo swapoff -a

若系统恢复正常,说明 swap 配置有问题。


四、推荐排查顺序总结

  1. swapon --show
  2. 看 /etc/fstab
  3. blkid 对比 UUID
  4. 重建 swap(分区或文件)
  5. 检查磁盘空间
  6. 看开机日志:
journalctl -xe | grep swap

如果你能贴出具体报错信息(终端报错 / 开机提示 / journalctl 日志),我可以直接帮你定位是哪一类问题。

0 踩