centos

CentOS Swap如何故障排查

小樊
36
2025-04-08 13:14:49
栏目: 智能运维

在CentOS系统中,Swap(交换分区)故障排查可以通过以下步骤进行:

1. 查看Swap使用情况

2. 查找占用Swap的进程

#!/bin/bash
for DIR in $(find /proc/ -maxdepth 1 -type d | egrep "/proc/[0-9]"); do
    PID=$(echo $DIR | cut -d / -f 3)
    PROGNAME=$(ps -p $PID -o comm --no-headers)
    for SWAP in $(grep Swap $DIR/smaps 2>/dev/null | awk '{print $2}'); do
        let SUM=$SUM+$SWAP
    done
done
echo "PID\tPID - Swap used: $SUM"
echo "Overall swap used: $SUM"

将上述脚本保存为 check_swap.sh,然后用 sudo ./check_swap.sh 执行即可查看所有进程的Swap使用情况。

3. 调整Swappiness值

cat /proc/sys/vm/swappiness

根据系统内存大小和业务需求,可以调整Swappiness值。例如,将Swappiness值设置为10:

sysctl vm.swappiness=10

要使设置永久生效,需要修改 /etc/sysctl.conf 文件,添加以下内容:

vm.swappiness = 10

4. 创建和启用Swap分区或文件

dd if=/dev/zero of=/swapfile bs=1M count=16384

将文件设置为分区文件:

mkswap /swapfile

修改swap文件权限:

chmod 600 /swapfile

启用swap分区:

swapon /swapfile

设置开机时自启用swap分区:

echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

5. 故障排查和诊断工具

通过以上步骤,可以有效地进行CentOS系统的Swap故障排查。如果问题依然存在,可能需要进一步检查硬件状态或联系系统管理员进行深入分析。

0
看了该问题的人还看了