在 CentOS 中,swap(交换分区/交换文件)出问题通常表现为:
free -h 看不到 swapswapon -s 为空或报错下面按常见场景 + 解决方法来说明。
free -h
swapon -s
lsblk
cat /etc/fstab
判断:
/etc/fstab 正确挂载swapon /dev/sdXN
开机自动挂载:
vi /etc/fstab
添加:
/dev/sdXN swap swap defaults 0 0
创建新的 swap 文件:
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
/etc/fstab 添加:
/swapfile swap swap defaults 0 0
系统升级或重装后,UUID 改变会导致:
swapon: /dev/sdX: Invalid argument
解决:
blkid | grep swap
更新 /etc/fstab:
UUID=xxxx-xxxx swap swap defaults 0 0
swapoff /swapfile
mkswap /swapfile
swapon /swapfile
df -h
如果是 / 或 /var 满了:
查看:
lvdisplay
vgdisplay
激活:
vgchange -ay
swapon /dev/VolGroup00/LogVol01
关闭旧 swap:
swapoff -a
重新创建更大的 swap 文件或分区,再启用。
swapon -p 10 /swapfile
smem -s swap
cat /proc/sys/vm/swappiness
默认 30,可调:
sysctl vm.swappiness=10
Ctrl + Alt + F2如果你能提供:
cat /etc/redhat-release)free -h 和 swapon -s 输出我可以给你更精准的一步步修复方案。