在 Ubuntu 中遇到 swap 失效(不生效 / 不可用) 时,可以按下面步骤排查和修复。
swapon --show
free -h
swapon --show 没有输出,说明 swap 未挂载free -h 中 Swap 为 0,也说明未生效查看 /etc/fstab:
cat /etc/fstab
如果没有 swap 相关行,手动添加(示例):
UUID=xxxx-xxxx none swap sw 0 0
获取 UUID:
blkid
然后启用:
sudo swapon -a
ls -lh /swapfile
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
写入 fstab(开机自动挂载):
/swapfile none swap sw 0 0
查看是否手动关闭过:
sudo swapoff -a
重新开启:
sudo swapon -a
有些 Ubuntu 使用 zram:
ls /dev/zram*
swapon --show
如果是 zram 但失效:
systemctl status systemd-zram-setup
重启服务:
sudo systemctl restart systemd-zram-setup
如果用了休眠:
cat /etc/initramfs-tools/conf.d/resume
确保 resume 指向正确的 swap UUID。
更新 initramfs:
sudo update-initramfs -u
df -h
如果根分区 100%,swap 文件无法写入。
swapon --show 有输出/etc/fstab 正确swapoff -a 误关可以把以下信息发给我,我帮你具体分析:
swapon --show
free -h
cat /etc/fstab
lsblk
你是 物理机 / 虚拟机 / 云服务器?
是 升级系统后失效 还是 突然失效?