在 CentOS(以及 RHEL 系列)中,swap 无法激活是比较常见的问题,原因通常涉及配置、设备状态、文件系统类型或权限。下面按最常见原因 → 排查方法 → 解决办法来说明。
如果是 swap 文件(不是分区),常见错误:
mkswap✅ 正确示例:
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
典型错误:
swap)✅ 正确示例:
UUID=xxxx-xxxx swap swap defaults 0 0
或文件方式:
/swapfile swap swap defaults 0 0
查看 UUID:
blkid
swapon -a
# 报错:
# swapon: /dev/sdX: swapon failed: Invalid argument
可能是:
解决:
mkswap /dev/sdX
swapon /dev/sdX
如果是 LVM swap:
lvscan
若看到 inactive:
vgchange -ay
swapon /dev/VolGroup/swap
swap 文件若不在正确安全上下文,会被拒绝。
查看:
ls -Z /swapfile
修复:
restorecon /swapfile
查看:
cat /proc/swaps
swapon -a
或
swapon /dev/sdX
free -h
swapon --show
mount -a
cat /etc/fstab
lsblk -f
swap 分区应显示:
TYPE=swap
❌ 错误:
swapon: /swapfile: insecure permissions 0644
✅ 解决:
chmod 600 /swapfile
❌ 错误:
swapon failed: Device or resource busy
✅ 说明 swap 已启用,或设备被占用
你可以把以下信息贴出来(直接复制即可):
cat /etc/fstabswapon -a 的完整报错lsblk -fcat /etc/redhat-release)我可以根据你的实际情况给你一步一步的命令。