在 CentOS 里提到 swapper 异常,常见场景有几种,不同表现对应不同修复方式。我先按最常见的情况给你说明,你看看是哪一种。
swapper 是 PID 0 的内核进程(也叫 idle 进程),正常情况下它占用 CPU 是正常的,代表系统空闲。
swapper 占 CPU 高 → 其实说明 CPU 很闲kswapd0 高(不是 swapper)✅ 一般不需要“修 swapper”
这是 swap 回收进程,异常通常是因为:
free -h
swapon -s
解决:
# 关闭不必要的服务
# 增加内存
# 调整 swappiness
# 查看
cat /proc/sys/vm/swappiness
# 临时降低
sysctl vm.swappiness=10
# 永久
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p
swapper: page allocation failureUnable to handle kernel pagingswap read errordmesg | grep -i swap
journalctl -xe | grep -i swap
swapoff -a
如果是文件:
rm -f /swapfile
dd if=/dev/zero of=/swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
如果是分区:
mkswap /dev/sdX
swapon /dev/sdX
smartctl -a /dev/sda
如果是:
通常是:
✅ 解决:
uname -a
yum update kernel
reboot
你可以直接贴:
top 或 htop 截图(哪一行异常)dmesg | tail -50cat /etc/redhat-release)我可以直接帮你判断是 swapper 假异常 还是 真故障。