记一次国产ARM架构长城服务器宕机排查
环境:
- 型号: GreatWall DF723
- CPU: Phytium FT-2000+/64 CORE Little Endian
- 架构: aarch64
- 内存容量: 128G
- 系统: 麒麟V10 Kylin Linux Advanced Server V10 (Tercel)
- 内核版本: 4.19.90-17.5.ky10.aarch64
症状
服务器1-2天内必宕机,并且部分进程CPU均为100%,且调度大量进程状态为R(Running),无法及时让出CPU给其他进程
且有大量watchdog: BUG: soft lockup - CPU#0 stuck for 67s! [migration/0:13]
soft lockup 消息
初步排查
查看dmesg
消息,发现大量rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
报告CPU处于stalls
状态
起初以为是内核某个线程死循环,无法让出CPU导致的内核BUG,使用yum install kernel
升级内核后,症状依旧
锁定症状
dmesg
里存在大量
1 | rcu: 10-...0: (8 GPs behind) idle=7de/1/0x4000000000000000 softirq=392353/392353 fqs=2586 |
消息,证明CPU10出问题了
使用 echo 0 >/sys/bus/cpu/devices/cpu10/online
下线CPU10
后续再未出现该症状,国产的CPU可能还是有兼容性问题