在CentOS系统中,Swap(交换分区)的故障排查是一个重要的技能,可以帮助你确保系统的稳定性和性能。以下是一些有效的排查技巧和步骤:
swapon -s
来查看当前系统中已经配置的Swap分区信息。for i in $(cd /proc; ls grep "[0-9]" | awk '{ print $0 }'); do awk '/Swap:/ {print $2}' /proc/$i/smaps 2>/dev/null; done | sort -k1nr | head
这个命令会列出占用Swap最多的前几个进程。
swappiness
参数控制着系统使用Swap分区的倾向。值越高,系统越倾向于使用Swap分区。sudo sysctl vm.swappiness=10
要使设置永久生效,需要将以下行添加到 /etc/sysctl.conf
文件中:
vm.swappiness = 10
然后运行 sudo sysctl -p
使配置生效。
单用户模式:
e
编辑,添加 single
,然后按 b
启动。e
编辑,将 ro
改为 rw
,在行尾添加 init/bin/bash
,删除 rhgb
和 quiet
,然后按 Ctrl+X
启动。救援模式:适用于无法进入系统或单用户模式的情况,可以通过挂载系统镜像来进行排查。
df -h
命令检查磁盘空间使用情况,确保有足够的空间来创建Swap文件。sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo mkswap /swapfile
sudo swapon /swapfile
要使Swap文件在系统重启后自动启用,需要编辑 /etc/fstab
文件,添加如下行:
/swapfile swap swap defaults 0 0
sudo swapoff -a
然后从 /etc/fstab
文件中移除相应的配置。
dmesg grep -i panic
和 journalctl -b -1
查看系统日志,寻找可能的错误信息。检查 /etc/fstab
和 /etc/sysctl.conf
等配置文件,确保没有错误。sudo yum update
sudo modprobe -r module_name
命令禁用模块。通过以上步骤,通常可以有效地排查和解决CentOS系统中的Swap故障。如果问题依然存在,可能需要进一步检查硬件状态或寻求专业的技术支持。