我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里注册天翼云VIP帐号,立即体验云服务器>>>

本文针对Linux 操作系统弹性云主机由于内核参数kernel.unknown_nmi_panic配置错误导致的异常重启问题给出修复方案,供您参考。

问题描述

使用Linux操作系统的弹性云主机发生异常重启事件,错误提示如下:

Kernel panic – not syncing: NMI: Not continuing

同时,内核日志输出如下信息:

[…] Uhhuh. NMI received for unknown reason 20 on CPU 1.
[…] Do you have a strange power saving mode enabled?
[…] Kernel panic - not syncing: NMI: Not continuing

可能原因

如果Linux操作系统弹性云主机的内核参数kernel.unknown_nmi_panic配置为1,则云主机实例会在系统收到NMI中断时主动panic导致系统重启。NMI中断(Non-Maskable Interrupt,非可屏蔽中断)是操作系统中的一种特殊类型的中断,它具有比其他中断更高的优先级,并且通常无法被屏蔽或忽略。因此NMI中断通常用于处理一些关键的系统事件,例如硬件故障、系统崩溃、内存校验错误等,这些事件需要立即引起处理,而不能等待其他正在进行的任务完成。内核参数kernel.unknown_nmi_panic配置为1的目的是为了通过触发NMI中断主动通过panic系统进行问题定位。不过由于个别型号的CPU会在正常业务流程中同样产生NMI中断,如果在这种情况下仍将内核参数kernel.unknown_nmi_panic配置为1,将会触发云主机产生非预期的异常重启事件。

解决方案

  1. 远程登录弹性云主机。

  2. 执行以下命令,查看该云主机关于内核参数kernel.unknown_nmi_panic的配置值

    sysctl -n kernel.unknown_nmi_panic

    如果该参数的取值为1,说明是由于内核参数配置错误引起的云主机异常重启。

    [root@centos ~]# sysctl -n kernel.unknown_nmi_panic
    1
  3. 在系统的/etc/sysctl.conf文件中查看是否存在内核参数kernel.unknown_nmi_panic相关配置。如果存在kernel.unknown_nmi_panic=1的配置,将该配置改为kernel.unknown_nmi_panic=0;如果不存在kernel.unknown_nmi_panic=1的配置,则在该文件中增加kernel.unknown_nmi_panic=0的配置信息。

  4. 执行systecl -p命令使配置生效。

    [root@centos ~]# sysctl -p
    kernel.unknown_nmi_panic = 0

结果验证

执行以下两个命令,查看结果是否均为0。如果验证结果符合预期,则说明修改成功。

[root@centos~]#cat 
/proc/sys/kernel/panic_on_unrecovered_nmi
0
[root@centos ~]# sysctl -n kernel.unknown_nmi_panic
0




推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线