温馨提示×

centos swapper报错怎么解决

小樊
39
2026-09-27 08:11:05
栏目: 智能运维

在 CentOS 里看到的 “swapper 报错” 通常不是某一个固定错误,而是内核线程 swapper(pid 0)相关的问题,常见表现有:

  • 系统日志(dmesg / /var/log/messages)里出现 swapper 报错
  • 内核 panic 显示 swapper[0]
  • 系统卡死、OOM、软死锁(soft lockup)
  • BUG: soft lockup - CPU#x stuck for 23s! [swapper/0:0]

下面按常见原因 → 对应解决办法来说明。


一、最常见:soft lockup(swapper 卡死)

报错示例:

BUG: soft lockup - CPU#0 stuck for 23s! [swapper/0:0]

原因

  • CPU 长时间被占用,没响应内核调度
  • 驱动 / 内核 bug
  • 虚拟化环境(VMware / KVM)资源不足
  • 内核版本过旧

解决办法

  1. 更新内核
yum update kernel
reboot
  1. 临时缓解(不推荐长期)
sysctl -w kernel.watchdog_thresh=30
  1. 检查是否为虚拟机
  • VMware:开启 CPU 热插拔、增加 vCPU
  • 云服务器:联系厂商或升级规格

二、swapper 导致 kernel panic

报错示例:

Kernel panic - not syncing: Fatal exception in interrupt
swapper/0

原因

  • 硬件故障(内存、CPU)
  • 内核与驱动不兼容
  • 第三方内核模块(如 nvidia、网卡驱动)

解决办法

  1. 查看完整 dmesg:
dmesg | less
journalctl -k
  1. 卸载可疑模块
lsmod
modprobe -r xxx
  1. 使用官方内核
uname -a

三、内存 / swap 问题导致 swapper 异常

报错示例:

Out of memory: Kill process
swapper invoked oom-killer

解决办法

  1. 查看内存
free -h
top
  1. 增加 swap
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile
  1. 调整 OOM 行为
sysctl -w vm.overcommit_memory=1

四、磁盘 / IO 卡死引发 swapper 报错

  • RAID 卡故障
  • 磁盘坏道
  • NFS 挂载卡死

排查

iostat -x 1
dmesg | grep -i error
smartctl -a /dev/sda

五、快速定位思路(通用)

dmesg | tail -100
journalctl -p err -b
uname -a
cat /etc/redhat-release

六、如果你愿意,我可以更精确帮你

请把完整报错内容贴出来,包括:

  • CentOS 版本(7 / 8 / Stream)
  • 内核版本
  • 报错全文(dmesg 或 screen 截图)
  • 是否虚拟机 / 物理机

我可以直接告诉你是哪一类 swapper 问题,以及具体修复命令。

0 踩