Saya sedang bermain game di Steam dan tiba-tiba saya mendapat panik kernel. Saya mematikan komputer secara manual dan mem-boot kembali ke Linux Mint 17.1 (Cinnamon) 64-bit, dan pergi untuk memeriksa file log saya /var/log/
, tetapi saya tidak dapat menemukan referensi atau jenis pesan apa pun yang berkaitan dengan panik kernel yang terjadi.
Aneh mengapa tidak pernah membuang inti atau bahkan membuat catatan tentang itu ke file log. Bagaimana saya bisa memastikan bahwa inti selalu dibuang jika panik kernel terjadi lagi? Tidak masuk akal mengapa tidak ada yang dicatat ketika panik kernel terjadi. Melihat-lihat di Google, orang menyarankan untuk membaca /var/log/dmesg
, /var/log/syslog
, /var/log/kern.log
, /var/log/Xorg.log
dll ... tapi tidak ada. Bahkan dalam .Xsession-errors
file juga.
Berikut adalah beberapa foto layar:
Saya selalu bisa mengambil foto layar kapan dan jika itu terjadi lagi, tapi saya hanya ingin memastikan bahwa saya bisa mendapatkannya untuk membuang inti dan membuat file log pada kernel panik.
sumber
/var/crash
?.Xsession-errors
.Jawaban:
Untuk memastikan bahwa mesin Anda menghasilkan file "inti" ketika terjadi kegagalan kernel, Anda harus mengonfirmasi pengaturan "sysctl" mesin Anda.
IMO, berikut ini harus menjadi pengaturan (minimal) di
/etc/sysctl.conf
:Jalankan
sysctl -p
setelah membuat perubahan pada/etc/sysctl.conf
file. Anda mungkin harus jugamkdir /var/crash
jika itu belum ada.Anda dapat menguji di atas dengan membuat dump manual menggunakan SysRqkunci (kombinasi kunci untuk dump core adalah Alt+ SysRq+ C)
sumber
Alt+SysRq+C
dengan tombol tetapi tidak melakukan apa-apa, itu hanya layar flash. Saya juga menggunakan Laptop sehingga kuncinya mungkin berbeda. Saya memang mencobafn+SysRq+C
tetapi itu melakukan hal yang sama seperti sebelumnya.Ketika kernel panik, itu berarti ada yang tidak beres di kernel. Menulis file log dan dump inti memerlukan menggunakan 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 itu tidak dalam keadaan aman lagi, jadi melakukan operasi apa pun dapat memperburuk keadaan dan dapat merusak / menghancurkan sistem file Anda. Jadi Anda tidak bisa membuat kernel menulis ke log atau membuang dump inti ketika panik.
Sekarang yang dapat Anda lakukan, jika Anda mau, adalah mengkonfigurasi sistem dengan crash handling kernel, yang merupakan kernel kedua yang dimuat ke dalam memori yang kontrolnya dapat ditransfer ke jika kernel utama crash. Karena kernel itu memiliki driver dan semacamnya, itu akan dapat menyimpan crash dump untuk Anda. Ini bukan setup yang sangat umum, dan terutama digunakan untuk sistem high-end yang membutuhkan ketersediaan tinggi dan di mana crash adalah 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 dump crash kernel diaktifkan secara default, dimulai dengan Ubuntu 16.04.)
Saya percaya bahwa sistem sebenarnya menyimpan dump ke memori yang dicadangkan dan kemudian reboot, dan kernel menyimpan memori yang dicadangkan ke disk pada boot berikutnya (karena kernel yang baru boot berada dalam keadaan waras dan dapat melakukan itu).
sumber