帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 服务支持
  5. 操作系统问题
  6. Linux操作系统问题
  7. 为什么Linux实例设置内核参数kernel.unknown_nmi_panic后,实例异常重启?

为什么Linux实例设置内核参数kernel.unknown_nmi_panic后,实例异常重启?

  • Linux操作系统问题
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

本文介绍Linux实例设置内核参数kernel.unknown_nmi_panic后,实例异常重启的问题原因和解决方案。

问题现象

在Linux系统的阿里云ECS实例中,设置内核参数kernel.unknown_nmi_panic后,实例异常重启。系统恢复后查看内核日志,提示以下调用栈信息:

[5912557.130943] Uhhuh. NMI received for unknown reason 20 on CPU 0.

[5912557.131115] Do you have a strange power saving mode enabled?

[5912557.131287] Kernel panic - not syncing: NMI: Not continuing

问题原因

该问题一般是由于内核参数kernel.unknown_nmi_panic被设置为1,导致内核在收到未知的不可屏蔽中断发生Panic,出现实例重启现象。

内核参数 kernel.unknown_nmi_panic用于控制内核在遇到未知的不可屏蔽中断(Non Maskable Interrupt,简称NMI)时的行为。目前大多数Linux发行版本上kernel.unknown_nmi_panic 的值均设为0,即忽略未知的不可屏蔽中断。如果由于某些原因开启了该配置,可能导致内核在收到未知的不可屏蔽中断发生Panic,并出现实例重启的情况。

  • kernel.unknown_nmi_panic = 1:内核将在遇到未知的不可屏蔽中断时,认为系统出错并触发内核Panic,从而导致实例出现非预期的重启或业务中断。

  • kernel.unknown_nmi_panic = 0:忽略该问题不做进一步处理,保持实例当前状态继续运行。

解决方案

您可以参考以下方法进行处理,将内核参数kernel.unknown_nmi_panic的值设置为0,忽略未知的不可屏蔽中断。

  1. 登录ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 执行以下命令,查看是否存在内核参数kernel.unknown_nmi_panic相关配置。

     grep 'kernel.unknown_nmi_panic' /etc/sysctl.conf /etc/sysctl.d/*.conf
    • 如果已有相关配置,则需要手动删除多余的配置,只保留/etc/sysctl.conf 文件的中一项并设置为kernel.unknown_nmi_panic = 0 。

    • 如果不存在相关配置,请依次执行以下命令,在/etc/sysctl.conf 文件末尾添加kernel.unknown_nmi_panic = 0内容。

      sudo sh -c "echo >> /etc/sysctl.conf"
      sudo sh -c "echo 'kernel.unknown_nmi_panic = 0' >> /etc/sysctl.conf"
  3. 执行以下命令,使配置在当前环境中生效。

    sudo sysctl -p
    说明

    如果需要额外修改内核参数,并且不希望重新加载内核参数配置文件,请执行sysctl -w kernel.unknown_nmi_panic=0命令,只修改内核参数kernel.unknown_nmi_panic的值为0。

相关文章

Debian 8系统的ECS实例中,执行“apt-get update”命令提示“404 Not Found”错误怎么办? 2025-04-01 12:00

本文介绍Debian 8系统的ECS实例中,执行“apt-get update”命令提示“404 Not Found”错误的问题原因和解决方案。 重要 Debian 8操

Linux实例中使用Apache Bench进行压力测试时报错“apr_pollset_poll The timeout specified has expired”的解决方案 2025-04-01 12:00

本文介绍了在Linux实例中使用Apache Bench进行压力测试时,提示“apr_pollset_poll: The timeout specified has expired”错误的问题原因及解决方案。 问题描述 在Linux实例的Apache中进行ab压力测试时(如:

Linux实例中访问tmp目录提示“bash cd tmp 权限不够“错误怎么办? 2025-04-01 12:00

本文介绍在Linux系统的ECS实例中,访问/tmp目录时,提示“bash: cd: /tmp: 权限不够”错误时的解决方案。 问题现象 在Linux系统的ECS实例中,访问/

Linux实例使用su命令切换用户时,提示“su failed to execute binbash Permission denied”错误怎么办? 2025-04-01 12:00

本文介绍在Linux系统的ECS实例中,使用su命令切换用户失败,提示“su: failed to execute /bin/bash: Permission denied”错误时的解决方案。 问题现象 在Linux系统的ECS实例中,使用su命令切换用户时,提示以下错误。

Linux实例在修改文件时遇到“Read-only file system ”错误怎么处理? 2025-04-01 12:00

问题现象 重启ECS实例后,实例操作系统正常运行,但执行chart、mkdir、

Linux实例开启TCP SACK的方法 2025-04-01 12:00

本文介绍如何在Linux实例中开启TCP SACK的方法。 说明 当Linux实例未开启TCP SACK时,可能会影响Linux实例的网络性能。您可以参考本文内容,开启TCP SACK。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1