Saya punya masalah dengan Handbrake / ffmpeg. Setelah ~ 5 menit transcoding, komputer terkunci. Saya cukup yakin itu panik kernel karena caps-lock mulai berkedip.
Ada beberapa pertanyaan logis tentang apa yang harus dilakukan dan beberapa tentang bug tertentu tetapi saya benar-benar setelah satu hal: apa yang terjadi tepat sebelum semuanya mati ?!
Saya sudah memeriksa /var/log/kern.log
dan yang saya lihat sekitar waktu adalah saya menempel di DVD dan kemudian beberapa menit kemudian, sistem boot. Tidak ada kesalahan, tidak ada pemberitahuan panik.
Apakah ada cara untuk memaksa panik untuk dicatat? Saya cukup yakin saya dapat mereproduksi ini (itu terjadi 100% dari kali saya mencoba baru-baru ini) jadi sementara saya lebih suka ini "hanya bekerja", saya cukup senang untuk reboot beberapa kali jika itu berarti saya bisa temukan penyebab kepanikan.
Jawaban:
Semua log sistem Anda di Ubuntu ditangani oleh
rsyslog
yang menyimpan konfigurasinya di/etc/rsyslog.conf
dan/etc/rsyslog.d/
.Untuk informasi lebih lanjut tentang cara mengonfigurasi
rsyslog
dan opsi yang mungkin, kunjungirsyslog.conf man page
.Membuka
/etc/rsyslog.d/50-default.conf
Anda dapat melihat bahwa salah satu baris berisi*.*;auth,authpriv.none -/var/log/syslog*
Berarti file yang Anda cari dalam kasus ini adalah salah satu dari
/var/log/syslog
log besar yang mungkin Anda miliki.Anda dapat melihat bahwa nama file juga dimulai dengan
-
, ini berarti bahwa file di-cache sebelum menulis, itu bagus tetapi dapat meninggalkan Anda dengan log yang buruk, yang Anda inginkan adalah log ditulis segera setelah ada masalah. Hapus tanda hubung dan reboot atau memuat ulangrsyslog
dan kemudian membuat komputer Anda crash lagi, periksa/var/log/syslog
.sumber
Jika itu benar-benar panik kernel maka itu tidak akan ditulis ke dalam log melalui metode normal. Karena kernel pada saat ini mengalami crash, menulis ke sistem file adalah operasi yang berisiko - tidak banyak dari kernel yang dapat dipercaya lagi, jadi menulis ke log mungkin sebenarnya memuntahkan omong kosong acak di atas bootloader Anda!
Sebagai gantinya, Anda dapat membuang konten memori ke swap Anda, dan kemudian men-debugnya nanti. Ini dikenal sebagai kernel crash / core dump.
Wiki Ubuntu memiliki CrashdumpRecipe yang mungkin berguna - meskipun terlihat agak ketinggalan zaman, saya tidak berpikir terlalu banyak yang harus diubah.
sumber
linux-crashdump
; paket ini masih tersedia di semua versi.Port serial
Port serial adalah mekanisme komunikasi tingkat rendah yang sederhana antar komputer.
Keuntungan:
Kerugian:
Port serial terlihat seperti ini:
dan pada RPI tersedia melalui GPIO.
Kemudian, jika Anda memiliki perangkat keras yang diperlukan, sambungkan dari komputer kedua ke komputer utama dengan:
Ini sebenarnya memberi Anda shell.
Kemudian pada mesin utama, mulailah operasi yang panik.
Saat kepanikan terjadi, kepanikan itu dialirkan ke mesin kedua, dan Anda bisa melihat semuanya dengan menggulir ke atas di terminal.
Metode lainnya
Ada juga metode lain yang mengatasi keterbatasan perangkat keras yang disebutkan di atas, dengan biaya yang lebih kompleks dan kurang dapat diandalkan. Metode penting:
Lihat juga jawaban yang bagus ini: https://unix.stackexchange.com/questions/60574/determining-cause-of-linux-kernel-panic
Langkah debugging
Pada akhirnya, mendapatkan output panik mengharuskan beberapa fungsi kernel berfungsi, dan fungsionalitas kernel apa pun bisa rusak oleh panik.
Tapi siapa yang butuh panik jika Anda bisa menggunakan GDB di kernel? Jika Anda hardcore, lihat:
Setiap masalah jatuh setelah Anda memiliki visibilitas penuh (dan cukup waktu!).
sumber