文档

Linux系统的ECS实例系统无响应,系统日志中出现“BUG: soft lockup – CPU#0 stuck for 61s”错误怎么办?

更新时间:

本文介绍Linux系统的ECS实例系统无响应,在/var/log/messages/var/log/dmesg等日志中出现“BUG: soft lockup – CPU#0 stuck for 61s”错误的问题原因和解决方案。

问题现象

Linux系统的ECS实例出现系统无响应,在/var/log/messages/var/log/dmesg等日志中出现大量类似如下错误信息。

BUG: soft lockup - CPU#0 stuck for 61s

问题原因

该问题通常是由于ECS实例中,系统内核长时间占用CPU资源导致出现软死锁(soft lockup)故障,内核长时间占用CPU资源可能有以下原因:

  • 系统负载过高

  • 内核死循环或死锁

  • 内核调度问题

  • 内核出现故障

解决方案

出现soft lockup的原因比较复杂,您可以参考以下步骤进行排查。

  1. 检查系统负载。

    使用top、sar、htop等工具检查系统负载,如果系统负载过高,需要调整系统配置或增加硬件资源来缓解负载。更多信息,请参见Linux实例负载高问题排查和异常处理

  2. 检查内核是否存在死循环或死锁、内核调度问题。

    使用内核调试工具(如Kgdb)检查内核代码,查找可能的死循环或死锁、内核调度问题,找到问题后,可以通过修改代码或应用补丁来解决问题。更多信息,请参见Kgdb

  3. 检查内核是否存在已知缺陷。

    查找Linux发行版社区中,对应内核版本是否存在类似soft lockup故障。如果存在类似故障,可参考对应方案进行解决。常见的Linux发行版社区:

  • 本页导读 (1)