温馨提示×

ubuntu swap失效怎么办

小樊
42
2026-09-13 05:59:16
栏目: 智能运维

在 Ubuntu 中遇到 swap 失效(不生效 / 不可用) 时,可以按下面步骤排查和修复。


一、先确认 swap 当前状态

swapon --show
free -h
  • 如果 swapon --show 没有输出,说明 swap 未挂载
  • free -h 中 Swap 为 0,也说明未生效

二、常见原因及解决办法

1️⃣ Swap 分区但未自动挂载

查看 /etc/fstab:

cat /etc/fstab

如果没有 swap 相关行,手动添加(示例):

UUID=xxxx-xxxx none swap sw 0 0

获取 UUID:

blkid

然后启用:

sudo swapon -a

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

检查是否存在 swapfile

ls -lh /swapfile

如果没有,创建新的 swap 文件

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

写入 fstab(开机自动挂载):

/swapfile none swap sw 0 0

3️⃣ Swap 被系统禁用了

查看是否手动关闭过:

sudo swapoff -a

重新开启:

sudo swapon -a

4️⃣ 使用了 zram / zswap(常见在云服务器)

有些 Ubuntu 使用 zram:

ls /dev/zram*
swapon --show

如果是 zram 但失效:

systemctl status systemd-zram-setup

重启服务:

sudo systemctl restart systemd-zram-setup

5️⃣ 休眠(hibernate)导致 swap 异常

如果用了休眠:

cat /etc/initramfs-tools/conf.d/resume

确保 resume 指向正确的 swap UUID。

更新 initramfs:

sudo update-initramfs -u

6️⃣ 磁盘满了导致 swap 无法使用

df -h

如果根分区 100%,swap 文件无法写入。


三、快速自检清单 ✅

  • [ ] swapon --show 有输出
  • [ ] /etc/fstab 正确
  • [ ] swap 文件权限是 600
  • [ ] 磁盘空间充足
  • [ ] 没有 swapoff -a 误关

四、如果还不行

可以把以下信息发给我,我帮你具体分析:

swapon --show
free -h
cat /etc/fstab
lsblk

你是 物理机 / 虚拟机 / 云服务器?
是 升级系统后失效 还是 突然失效?

0 踩