在CentOS系统中,进行Swap故障排查可以通过以下步骤进行:
free -h
命令查看当前Swap的使用情况。如果Swap部分显示为0,则表示没有配置Swap空间。swapon -s
命令查看当前配置的Swap分区或文件信息。for i in $( cd /proc; ls grep "[0-9]" | awk ' $0 >100' ); do awk '/Swap:/{a=a+$2}END{print ' " $i " ',a/1024"M"}' /proc/ $i /smaps 2>/dev/null ; done | sort -k2nr | head
这个命令会列出占用Swap最多的前几个进程。
sysctl vm.swappiness=10
要使设置永久生效,需要将以下行添加到 /etc/sysctl.conf
文件中:
vm.swappiness = 10
然后运行 sysctl -p
使配置生效。
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo mkswap /swapfile
sudo swapon /swapfile
要使交换文件在重启后自动启用,编辑 /etc/fstab
文件,添加如下行:
/swapfile swap swap defaults 0 0
sudo swapoff -a
永久禁用Swap,需要从 /etc/fstab
文件中删除相应的行,然后重启系统。
vmstat
命令监控Swap的使用情况,以及系统的内存和CPU使用情况。