GNU/Linux >> Belajar Linux >  >> Linux

Kernel Panic tidak membuang file log

Untuk memastikan bahwa mesin Anda menghasilkan file "inti" saat terjadi kegagalan kernel, Anda harus mengonfirmasi setelan "sysctl" mesin Anda.

IMO, berikut ini harus menjadi pengaturan (minimal) di /etc/sysctl.conf :

kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic=10
kernel.unknown_nmi_panic=1

Jalankan sysctl -p setelah melakukan perubahan pada /etc/sysctl.conf mengajukan. Anda mungkin juga harus mkdir /var/crash jika belum ada.

Anda dapat menguji hal di atas dengan membuat dump manual menggunakan SysRq key (kombinasi tombol untuk membuang core adalah Alt +SysRq +C ).


Ketika kernel panik, itu berarti ada yang tidak beres di kernel. Menulis file log dan core dump memerlukan penggunaan driver untuk perangkat penyimpanan blok (disk Anda) dan sistem file (ruang harus dialokasikan, dan ukuran file log harus diperbarui). Mengingat layanan yang disediakan oleh kernel diperlukan untuk menulis file, dan kernel tahu itu dalam keadaan rusak, itu tidak dapat menulis file atau mencatat apa pun, karena tidak dalam keadaan aman lagi, jadi lakukan operasi apa pun dapat memperburuk keadaan dan dapat merusak/menghancurkan sistem file Anda. Jadi Anda tidak dapat membuat kernel menulis ke log atau membuang dump inti saat panik.

Sekarang apa yang dapat Anda lakukan, jika Anda mau, adalah mengonfigurasi sistem dengan kernel penanganan kerusakan, yang merupakan kernel kedua yang dimuat ke dalam memori yang kontrolnya dapat ditransfer ke jika kernel utama mogok. Karena kernel itu memiliki driver dan semacamnya, itu akan dapat menyimpan crash dump untuk Anda. Namun, ini bukan penyiapan yang sangat umum, dan terutama digunakan untuk sistem kelas atas yang memerlukan ketersediaan tinggi dan di mana kerusakan merupakan masalah yang sangat serius yang harus diselidiki.

Lihat misalnya opsi crashkernel di Kernel Crash Dump di ubuntu.com. (Perhatikan bahwa halaman ini mengatakan bahwa mekanisme crash dump kernel diaktifkan secara default, dimulai dengan Ubuntu 16.04.)

Saya percaya bahwa sistem benar-benar menyimpan dump ke bagian memori yang dicadangkan dan kemudian mem-boot ulang, dan kernel menyimpan memori yang dicadangkan ke disk pada boot berikutnya (karena kernel yang baru mem-boot dalam keadaan waras dan dapat melakukan itu).


Linux
  1. "Kepanikan kernel"?

  2. Pesan Log Pemula Di Ubuntu 13.x?

  3. File log Linux

  1. Cara Mengelola File Log Menggunakan Logrotate Di Linux

  2. Pencatatan Python - periksa lokasi file log?

  3. Hapus file dengan logrotate

  1. Bagaimana menangani kepanikan kernel Linux

  2. Perintah Untuk Membersihkan File Log Lama?

  3. Linux – Tata Letak Tabel Halaman Dump (Konfigurasi kernel)?