温馨提示×

ubuntu swap失败咋解决

小樊
59
2026-10-15 23:17:20
栏目: 智能运维

在 Ubuntu 里“swap 失败”通常分几种情况,我按最常见场景给你排一遍,你对照看看是哪种。


一、开机提示 swap failed / failed to activate swap

1️⃣ swap 分区 UUID 变了(最常见)

系统升级、重装、磁盘变动后,/etc/fstab 里的 swap UUID 和实际不一致。

解决:

sudo blkid

找到 swap 分区的 UUID,然后:

sudo nano /etc/fstab

确认类似这一行:

UUID=xxxx-xxxx none swap sw 0 0

UUID 不对就改成正确的。

然后:

sudo swapoff -a
sudo swapon -a

二、根本没 swap(或 swap 文件损坏)

2️⃣ 使用 swap 文件(推荐方式)

创建 2G 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

三、swap 太小 / 内存不足导致 OOM

如果你是服务器或跑大模型:

  • swap 建议 ≥ 内存的 1–2 倍
  • 可临时加大:
sudo swapoff /swapfile
sudo fallocate -l 8G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

四、ZRAM / ZSWAP 冲突(新 Ubuntu 常见)

Ubuntu 22.04+ 默认启用 zram:

swapon --show

如果看到 /dev/zram0,说明用的是压缩内存。

关闭传统 swap 失败不影响系统,可忽略。

如想关 zram:

sudo systemctl disable --now systemd-zram-setup@zram0

五、磁盘满了导致 swap 无法启用

df -h

如果 / 或 /tmp 满了:

  • 清理日志
  • 删除无用文件
  • 再 swapon -a

六、快速自检命令(贴给我也行)

swapon --show
free -h
cat /etc/fstab
sudo blkid

✅ 告诉我:

  1. 是开机报错还是手动 swapon 失败?
  2. Ubuntu 版本(lsb_release -a)
  3. 用的是 swap 分区 还是 swap 文件?

我可以直接按你的环境给你精确命令。

0 踩