温馨提示×

CentOS Swap怎么进行故障排查

小樊
76
2025-06-16 06:32:33
栏目: 智能运维

在CentOS系统中,进行Swap故障排查可以通过以下步骤进行:

检查Swap状态

  • 使用 free -h 命令查看当前Swap的使用情况。如果Swap部分显示为0,则表示没有配置Swap空间。
  • 使用 swapon -s 命令查看当前配置的Swap分区或文件信息。

查找占用Swap的进程

  • 如果Swap使用率异常高,可以使用以下命令查找占用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最多的前几个进程。

调整Swappiness值

  • Swappiness值决定了系统使用Swap的倾向。值越高,系统越倾向于使用Swap。可以通过以下命令临时调整Swappiness值:
sysctl vm.swappiness=10

要使设置永久生效,需要将以下行添加到 /etc/sysctl.conf 文件中:

vm.swappiness = 10

然后运行 sysctl -p 使配置生效。

创建或禁用Swap

  • 创建Swap文件
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
  • 禁用Swap
sudo swapoff -a

永久禁用Swap,需要从 /etc/fstab 文件中删除相应的行,然后重启系统。

监控Swap使用情况

  • 使用 vmstat 命令监控Swap的使用情况,以及系统的内存和CPU使用情况。

进入单用户模式或救援模式进行更深入的排查

  • 如果系统无法正常启动,可以尝试进入单用户模式或救援模式,进行更深入的排查。

0