ECS实例宕机并产生“RIP:get_target_pstate_use_performance”日志,如何处理?

如果您的ECS实例在启动过程中宕机,且产生了RIP:get_target_pstate_use_performance日志,则可以参考本文提供的方案解决问题。

问题现象

您在启动ECS实例的过程中,实例出现宕机,并且有类似于如下所示的调用栈:

[    1.076899] divide error: 0000 [#1] SMP
[    1.077669] Modules linked in:
[    1.078302] CPU: 4 PID: 9 Comm: rcu_sched Not tainted 3.10.0-1127.19.1.el7.x86_64 #1
[    1.079519] Hardware name: Alibaba Cloud Alibaba Cloud ECS, BIOS 8f19b21 04/01/2014
[    1.080724] task: ffff91c8fa111070 ti: ffff91c8fa11c000 task.ti: ffff91c8fa11c000
[    1.081919] RIP: 0010:[<ffffffff85dc3089>]  [<ffffffff85dc3089>] get_target_pstate_use_performance+0x29/0xc0
[    1.083355] RSP: 0000:ffff91c8fa11fb40  EFLAGS: 00010006
[    1.093192] Call Trace:
[    1.093715]  [<ffffffff85dc4081>] intel_pstate_update_util+0x161/0x310
[    1.094550]  [<ffffffff858e9523>] ? load_balance+0x1a3/0xa10
[    1.095321]  [<ffffffff858e4e87>] update_curr+0x127/0x1e0
[    1.096123]  [<ffffffff858e52a8>] dequeue_entity+0x28/0x5c0
[    1.096894]  [<ffffffff8586d3be>] ? kvm_sched_clock_read+0x1e/0x30
[    1.097702]  [<ffffffff858e5893>] dequeue_task_fair+0x53/0x660
[    1.098490]  [<ffffffff858debe5>] ? sched_clock_cpu+0x85/0xc0
[    1.099266]  [<ffffffff858d7a56>] deactivate_task+0x46/0xd0

问题原因

ECS实例在启动的过程中,intel pstate驱动的current_pstate频率值会初始化为0。系统在进程切换时,如果系统负载有变化,则会调用intel pstate调节性能模式。此时intel pstate使用了current_pstate的0值,进而导致系统出现除零错误。

解决方案

重要

在操作前,建议您为ECS实例创建快照备份数据,避免因误操作造成的数据丢失。创建快照的具体操作,请参见创建一个云盘快照

建议您将操作系统内核版本升级到4.18或更高版本。