本文主要介绍如何排查和解决Linux实例在使用过程中,由于系统内核长时间占用CPU资源导致软死锁(soft lockup)故障,比如出现系统负载过高、内核死循环或死锁、内核调度异常等,导致系统无法登录、无法响应或应用程序卡死,且出现类似BUG: soft lockup – CPU#0 stuck for 61s
错误问题。
您可以使用Atop等工具检查系统负载,如果系统负载过高,需要调整系统配置或增加硬件资源来缓解负载,具体请参考Linux系统的ECS实例CPU使用率或CPU负载较高问题的排查及解决方案、Linux系统的ECS实例磁盘BPS/IOPS负载高问题的排查及解决方案。
您可以使用内核调试工具(如Kgdb)检查内核代码,查找可能的死循环或死锁、内核调度问题,找到问题后,通过修改代码或应用补丁来解决问题。
说明
内核调试工具为第三方工具,您可以根据选择的内核调试工具,参考对应的手册完成内核是否存在死循环或死锁、内核调度问题的排查和修复。