すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:カーネルパラメーターkernel.unknown_nmi_panicを設定すると、Linuxインスタンスが異常に再起動されるのはなぜですか。

最終更新日:Jan 23, 2025

このトピックでは、カーネルパラメーターkernel.unknown_nmi_panicを設定した後の異常な再起動の原因と解決策について説明します。

問題の説明

Linux Elastic Compute Service (ECS) インスタンスでカーネルパラメーターkernel.unknown_nmi_panicを設定すると、インスタンスは異常に再起動します。 システムが回復すると、カーネルログには次のコールスタック情報が表示されます。

[5912557.130943] Uhhuh。 NMIは、CPU0上で未知の理由20を受信した。

[5912557.131115] 奇妙な省電力モードが有効になっていますか?

[5912557.131287] カーネルパニック-同期しない: NMI: 継続
しない

原因

この問題は、カーネルパラメーターkernel.unknown_nmi_panicを1に設定すると発生します。 カーネルが不明な非マスク割り込み (NMI) を受信すると、カーネルパニックが発生し、インスタンスが再起動します。

カーネルパラメーターkernel.unknown_nmi_panicは、未知のNMIに遭遇したときのカーネルの動作を制御します。 ほとんどのLinuxディストリビューションでは、kernel.unknown_nmi_panicの値が0に設定されているため、不明なNMIは無視されます。

  • kernel.unknown_nmi_panic = 1: カーネルはシステムエラーを考慮し、未知のNMIに遭遇するとカーネルパニックをトリガーし、予期しないインスタンスの再起動またはサービスの中断を引き起こします。

  • kernel.unknown_nmi_panic = 0: この問題はアクションなしで無視され、インスタンスは現在の状態で実行され続けます。

解決策

解決策として、カーネルパラメーターkernel.unknown_nmi_panicを0に設定して、不明なNMIを無視できます。

  1. ECS インスタンスにログインします。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、カーネルパラメーターkernel.unknown_nmi_panicに関連する設定があるかどうかを確認します。

    grep 'kernel.unknown_nmi_panic ' /etc/sysctl.conf /etc/sysctl.d/*.conf
    • 関連する設定が存在する場合は、冗長な設定を削除し、/etc/sysctl.confファイルにエントリを1つだけ保持します。 kernel.unknown_nmi_panic = 0に設定します。

    • 関連する構成が存在しない場合は、次のコマンドを実行してkernel.unknown_nmi_panic = 0/etc/sysctl.confファイルの末尾に追加します。

      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に変更します。