Topik ini menjelaskan penyebab dan solusi untuk restart tidak normal setelah mengatur parameter kernel kernel.unknown_nmi_panic.
Deskripsi masalah
Setelah mengatur parameter kernel kernel.unknown_nmi_panic pada instance Elastic Compute Service (ECS) Linux, instance tersebut mengalami restart tidak normal. Setelah sistem pulih, log kernel menunjukkan informasi tumpukan panggilan berikut:
[5912557.130943] Uhhuh. NMI diterima karena alasan yang tidak diketahui 20 pada CPU 0.
[5912557.131115] Apakah Anda memiliki mode hemat daya yang aneh diaktifkan?
[5912557.131287] Kernel panic - tidak disinkronisasi: NMI: Tidak melanjutkanPenyebab
Masalah ini muncul setelah parameter kernel kernel.unknown_nmi_panic diatur ke 1. Hal ini menyebabkan kernel panic ketika kernel menerima Non-Maskable Interrupt (NMI) yang tidak dikenal, sehingga memicu restart instance.
Parameter kernel kernel.unknown_nmi_panic mengontrol perilaku kernel saat menemui NMI yang tidak dikenal. Pada sebagian besar distribusi Linux, nilai kernel.unknown_nmi_panic biasanya diatur ke 0, yang berarti NMI yang tidak dikenal akan diabaikan.
kernel.unknown_nmi_panic = 1: Kernel akan memicu kernel panic jika menemui NMI yang tidak dikenal, menyebabkan restart instance atau gangguan layanan.kernel.unknown_nmi_panic = 0: NMI yang tidak dikenal akan diabaikan tanpa tindakan lebih lanjut, dan instance terus berjalan dalam kondisi saat ini.
Solusi
Untuk menyelesaikan masalah ini, atur parameter kernel kernel.unknown_nmi_panic ke 0 agar NMI yang tidak dikenal diabaikan.
Masuk ke instance ECS.
Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Terhubung ke Instance Linux melalui SSH.
Jalankan perintah berikut untuk memeriksa apakah ada konfigurasi terkait dengan parameter kernel
kernel.unknown_nmi_panic.grep 'kernel.unknown_nmi_panic' /etc/sysctl.conf /etc/sysctl.d/*.confJika konfigurasi terkait ada, hapus konfigurasi yang berlebihan dan simpan hanya satu entri di file
/etc/sysctl.conf. Atur kekernel.unknown_nmi_panic = 0.Jika tidak ada konfigurasi terkait, jalankan perintah berikut untuk menambahkan
kernel.unknown_nmi_panic = 0ke akhir file/etc/sysctl.conf:sudo sh -c "echo >> /etc/sysctl.conf" sudo sh -c "echo 'kernel.unknown_nmi_panic = 0' >> /etc/sysctl.conf"
Jalankan perintah berikut untuk menerapkan konfigurasi di lingkungan saat ini:
sudo sysctl -pCatatanJika ingin memodifikasi parameter kernel tanpa memuat ulang file konfigurasi parameter kernel, jalankan perintah
sysctl -w kernel.unknown_nmi_panic=0untuk mengubah nilai parameter kernelkernel.unknown_nmi_panicmenjadi0.