Sebuah komputer menjalankan puluhan program sekaligus, dan sesekali salah satunya berhenti bekerja. Browser tertutup sendiri, atau sebuah proses di server mati tanpa pemberitahuan. Dalam kejadian seperti itu sistem tetap hidup: ada bagian lain yang mengambil alih, menutup program bermasalah, lalu membiarkan sisanya berjalan seperti biasa.

Bagian yang mengambil alih itu disebut kernel (inti sistem operasi). Ia berada satu lapis di bawah semua aplikasi dan memegang kendali penuh atas memori, prosesor, serta perangkat yang terpasang. Selama kernel sehat, kerusakan sebuah aplikasi hanya merugikan aplikasi itu sendiri.

Pertanyaannya, siapa yang menolong kernel ketika kernel sendiri yang bermasalah? Tidak ada. Di situasi itulah layar berubah menjadi teks putih di latar gelap dan mesin berhenti menanggapi apa pun.

Apa Itu Kernel Panic?

Kernel panic adalah kondisi ketika inti sistem operasi menemukan galat yang tidak bisa ia tangani, lalu memilih menghentikan seluruh sistem daripada melanjutkan pekerjaan dengan kondisi yang sudah tidak bisa dipercaya. Semua proses dibekukan, layar diambil alih untuk menampilkan pesan galat, dan mesin menunggu campur tangan manusia.

Keputusan itu masuk akal begitu Anda tahu apa yang dikerjakan kernel. Ia mengatur pembagian RAM antar-proses, menjadwalkan giliran CPU, dan menjadi satu-satunya pihak yang boleh berbicara langsung dengan perangkat keras. Aplikasi biasa tidak punya akses itu; setiap permintaan mereka harus melewati kernel.

Istilahnya berumur lebih dari lima dekade. Unix awal punya rutin bernama panic, dan Dennis Ritchie pernah merangkum filosofinya: bila terjadi galat, mesin berhenti, lalu Anda berteriak di lorong kantor meminta seseorang me-restart-nya. Sikap itu berlawanan dengan Multics, sistem yang berusaha memulihkan diri dari hampir setiap galat.

Kenapa Kernel Memilih Berhenti, Bukan Menutup Satu Aplikasi

Bayangkan kernel menemukan tabel kepemilikan halaman memori sudah rusak, sehingga ia tidak tahu lagi blok mana milik proses mana. Bila memaksakan diri berjalan, dua kemungkinan menanti: data satu aplikasi tertulis ke wilayah aplikasi lain, atau isi memori yang kacau tersimpan permanen ke disk.

Kemungkinan kedua itulah yang paling berbahaya, dan di sinilah frasa not syncing mendapat maknanya. Sync adalah proses menulis data yang masih mengendap di memori ke penyimpanan. Ketika kernel menyatakan dirinya not syncing, ia sengaja tidak menulis data tertunda itu. Kehilangan berkas beberapa detik terakhir lebih baik daripada menyimpan data yang sudah rusak.

Tidak semua galat kernel berujung panic. Galat yang lebih ringan menghasilkan oops: kernel mencatat masalahnya, mematikan proses yang terlibat, lalu melanjutkan hidup. Sistem tetap jalan, tetapi statusnya tidak lagi sepenuhnya sehat.

Galat kernel bercabang dua: oops hanya mematikan proses terkait, kernel panic menghentikan seluruh sistem.Galat kernel bercabang dua: oops hanya mematikan proses terkait, kernel panic menghentikan seluruh sistem.

Perilaku ini bisa diatur. Parameter kernel.panic_on_oops bernilai 1 memaksa setiap oops langsung menjadi panic. Kernel juga punya kernel.oops_limit dengan nilai bawaan 10000: setelah sekian banyak oops, sistem tetap dipanic-kan.

Membaca Pesan Kernel Panic Baris demi Baris

Layar panic terlihat menakutkan karena padat teks, padahal susunannya teratur. Bentuk umum layar kernel panic Linux seperti ini:

TEXT
Kernel panic - not syncing: <alasan panic>
CPU: 2 PID: 1 Comm: systemd Tainted: G     O       6.8.0-45-generic
Hardware name: <nama produsen dan model>
Call Trace:
 <fungsi terakhir yang dieksekusi>
 <fungsi pemanggilnya>
 ...
Modules linked in: <daftar modul yang sedang aktif>

Baris pertama adalah yang paling penting. Teks setelah tanda titik dua menjelaskan alasan kernel berhenti, dan hampir selalu cukup untuk menentukan langkah berikutnya. Baris Call Trace membaca dari bawah ke atas seperti tumpukan: fungsi paling bawah dipanggil lebih dulu, yang paling atas adalah tempat kejadian.

Yang sering terlewat adalah kata Tainted beserta huruf di belakangnya. Huruf itu menandai hal yang membuat kernel dianggap "tercemar", dan sering menunjuk langsung ke tersangka. Huruf O menandakan modul di luar pohon kernel resmi, P modul proprietary, dan D sistem yang sudah pernah oops. Yang paling perlu diwaspadai adalah M: prosesor pernah melaporkan Machine Check Exception (galat perangkat keras). Nilainya bisa Anda periksa kapan saja lewat cat /proc/sys/kernel/tainted.

Anatomi pesan kernel panic Linux: baris alasan, status Tainted, Call Trace dibaca dari bawah, lalu daftar modul.Anatomi pesan kernel panic Linux: baris alasan, status Tainted, Call Trace dibaca dari bawah, lalu daftar modul.

Sejak Linux 6.10, sebagian sistem menampilkan bentuk kedua yang jauh lebih ringkas. Alih-alih membanjiri layar dengan jejak fungsi, penangan panic pada subsistem grafis menggambar maskot Tux beserta tiga baris:

TEXT
KERNEL PANIC!

Please reboot your computer.

<alasan panic>

Bentuk ini memang lebih mudah dibaca, tetapi hanya menyisakan baris alasan. Rincian untuk menelusuri akar masalahnya tetap harus dicari dari log setelah mesin menyala kembali.

Berikut arti pesan yang paling sering muncul:

Pesan pada baris pertamaArtinyaArah pemeriksaan
VFS: Unable to mount root fs on unknown-block(0,0)Kernel selesai dimuat tetapi tidak menemukan partisi sistem sama sekaliinitramfs rusak, argumen root= salah, atau driver penyimpanan tidak ikut dimuat
Attempted to kill init! exitcode=0x00007f00Proses nomor 1 mati, dan kernel tidak boleh berjalan tanpanyaBerkas systemd atau pustaka sistem hilang atau rusak
No working init foundPartisi sistem ditemukan, tetapi program init tidak ada di dalamnyaPartisi root keliru, atau berkas /sbin/init hilang; pesannya sendiri menyarankan opsi init=
Fatal exception in interruptGalat terjadi di dalam penanganan interupsi perangkatDriver perangkat, sering pada kartu jaringan atau penyimpanan
hung_task: blocked tasksAda proses yang menunggu operasi disk terlalu lamaPenyimpanan lambat, penyimpanan jaringan terputus, atau disk gagal
out of memoryKernel kehabisan memori bahkan untuk kebutuhannya sendiriKebocoran memori, swap tidak aktif, atau kapasitas RAM kurang

Angka pada pesan Attempted to kill init! layak dibahas terpisah karena bentuknya membingungkan. Kernel mencetak kode keluar proses init apa adanya dalam heksadesimal, dan cara membacanya bergantung pada bagian mana yang terisi. Bila nilainya ada di dua digit tengah, seperti 0x00007f00, buang dua angka nol di belakangnya: hasilnya 127 dalam desimal, kode baku untuk perintah yang tidak ditemukan. Artinya init gagal menjalankan berkasnya sendiri. Bila justru dua digit paling belakang yang terisi, seperti 0x0000000b, angka itu adalah nomor sinyal: 11 berarti segmentation fault, 9 berarti proses dipaksa berhenti.

Penyebab Kernel Panic: Perangkat Lunak atau Perangkat Keras?

Pertanyaan pertama yang muncul di kepala hampir semua orang adalah apakah komputernya rusak secara fisik. Jawabannya terbagi dua, dan keduanya punya pola yang berbeda.

Dua kelompok penyebab kernel panic: perangkat lunak berupa berkas dan pembaruan, perangkat keras berupa RAM dan suhu.Dua kelompok penyebab kernel panic: perangkat lunak berupa berkas dan pembaruan, perangkat keras berupa RAM dan suhu.

Dari sisi perangkat lunak, penyebab yang paling sering ditemui:

  1. Initramfs yang rusak atau salah versi: initramfs adalah berkas sistem sementara yang dimuat sebelum partisi asli tersedia. Bila dibuat untuk versi kernel lain, kernel kehilangan driver untuk membaca disknya sendiri.
  2. Driver penyimpanan yang tidak ikut dimuat: disk NVMe dan susunan RAID membutuhkan modul khusus di dalam initramfs. Tanpa modul itu, kernel melihat mesin seolah tidak punya disk.
  3. Pembaruan kernel yang terpotong: mesin di-restart saat paket kernel baru belum selesai terpasang, sehingga berkas kernel dan modulnya tidak sepadan.
  4. Konfigurasi mount yang menunjuk perangkat hilang: /etc/fstab masih memuat penyimpanan jaringan yang sudah dilepas, dan boot terhenti menunggu perangkat yang tidak akan datang.
  5. Bug pada kernel atau modul pihak ketiga: paling sering muncul setelah memasang driver di luar bawaan distribusi.

Dari sisi perangkat keras, daftarnya lebih pendek tetapi lebih serius:

  1. RAM yang mulai rusak: satu sel memori yang gagal sudah cukup memicu panic, dan gejalanya muncul acak tanpa pola.
  2. Panas berlebih: prosesor yang bekerja di luar batas suhu aman bisa menghasilkan perhitungan keliru.
  3. Penyimpanan yang gagal: disk yang tidak lagi menjawab permintaan baca membuat kernel menunggu tanpa batas.
  4. Machine Check Exception: prosesor melaporkan galat yang tidak bisa dipulihkan. Inilah yang menaruh huruf M pada baris Tainted.

Cara membedakannya cukup sederhana. Panic yang muncul tepat setelah pembaruan, selalu di titik boot yang sama, dan menghasilkan pesan yang persis serupa setiap kali, hampir pasti berasal dari perangkat lunak. Sebaliknya, panic yang datang acak pada mesin yang sebelumnya stabil, dengan pesan berbeda-beda, dan lebih sering muncul saat beban tinggi, mengarah ke perangkat keras.

Bentuk Kernel Panic di macOS, Android, Windows, dan PlayStation

Istilah ini bukan milik Linux saja. Semua sistem operasi keturunan Unix memakainya, sehingga pesannya muncul di perangkat yang mungkin tidak Anda duga.

macOS. Layar menampilkan kalimat "Your computer restarted because of a problem", lalu Mac menyala kembali sendiri. Laporan lengkapnya tersimpan sebagai berkas berakhiran .panic di folder /Library/Logs/DiagnosticReports dan dibuka lewat aplikasi Console. Di dalamnya ada baris Debugger message: panic, versi kernel, serta proses yang berjalan saat kejadian. Penyebab kernel panic Mac dan MacBook yang tersering adalah perangkat eksternal serta ekstensi kernel pihak ketiga.

Pola yang sama berlaku di iPhone dan iPad. Laporannya dapat Anda buka lewat Settings → Privacy & Security → Analytics & Improvements → Analytics Data, dengan nama berawalan panic-full- diikuti tanggal kejadian. Berbeda dari Mac, kernel panic di iPhone hampir selalu menandakan masalah perangkat keras, bukan aplikasi.

Android dan Samsung. Pesan Kernel panic upload mode muncul cukup sering di perangkat Samsung. Alih-alih menyala normal, ponsel masuk ke mode pengunggahan dump agar isi memorinya bisa diambil untuk analisa. Pemicunya biasanya berkas sistem yang rusak, pembaruan yang gagal, atau factory reset yang terputus.

PlayStation 4. Konsol ini berjalan di atas sistem operasi turunan FreeBSD, sehingga memakai istilah yang sama. Kernel panic PS4 paling sering muncul setelah modifikasi perangkat lunak sistem yang tidak selesai atau tidak cocok dengan versi firmware.

Windows. Di sini istilahnya berbeda. Microsoft menyebutnya stop error, dan pengguna mengenalnya sebagai layar biru atau BSOD. Mekanismenya setara: inti sistem berhenti, mencetak kode galat berupa teks seperti KERNEL_SECURITY_CHECK_FAILURE, lalu menulis berkas dump.

Menemukan Catatannya Setelah Sistem Menyala Kembali

Di server, masalah terbesar justru hilangnya pesan itu. Mesin sudah menyala kembali sebelum Anda sempat melihat layarnya, dan yang tersisa hanya laporan bahwa layanan sempat mati. Ada tiga tempat yang perlu diperiksa, berurutan dari yang paling mudah.

Pertama, log boot sebelumnya. Systemd menyimpan riwayat per sesi boot, dan angka -1 merujuk ke sesi terakhir sebelum yang sedang berjalan:

Bash
journalctl -k -b -1

Tambahkan -e untuk melompat ke akhir keluaran, karena baris panic selalu ada di penghujung. Cara ini hanya berhasil bila log sempat tertulis ke disk — yang justru sering gagal, mengingat kernel menolak sync saat panic.

Kedua, pstore. Ini mekanisme kernel yang menyalin sekitar sepuluh kilobyte terakhir log ke penyimpanan yang bertahan melintasi restart, seperti area NVRAM pada firmware UEFI. Setelah mesin menyala, isinya muncul sebagai berkas:

Bash
ls /sys/fs/pstore/

Berkas berawalan dmesg- memuat potongan log terakhir sebelum sistem berhenti. Salin isinya, lalu hapus berkas aslinya agar ruang itu bisa dipakai untuk kejadian berikutnya.

Ketiga, kdump, untuk kasus yang perlu ditelusuri sampai ke akar. Mekanisme ini mencadangkan sebagian memori lewat parameter boot crashkernel=, lalu menjalankan kernel kedua yang menyalin isi memori kernel yang mati. Hasilnya tersedia sebagai /proc/vmcore dan dianalisa dengan utilitas crash. Penyiapannya memakan memori dan waktu, jadi umumnya hanya dipasang pada mesin produksi.

Layar panic ringkas yang dibahas sebelumnya juga bisa membawa kode QR berisi baris terakhir log kernel, tersedia sejak Linux 6.12. Anda cukup memotretnya, lalu memindainya di komputer lain. Fitur ini masih harus diaktifkan saat kompilasi dan belum menyala secara bawaan di kebanyakan distribusi.

Layar biru bergaya Windows yang diperkenalkan systemd versi 255 sering disalahpahami sebagai fitur yang sama. Keduanya berbeda: layar systemd menangani kegagalan di ruang pengguna saat proses boot, sedangkan kernel panic terjadi di lapisan yang jauh lebih dalam dan tidak dapat dijangkau systemd.

Mengatur Apa yang Terjadi Setelah Panic

Ada satu kenyataan yang mengejutkan banyak pemilik server: secara bawaan, mesin yang mengalami kernel panic tidak akan me-restart dirinya sendiri. Nilai bawaan parameter kernel.panic di kode sumber kernel adalah 0, dan angka nol berarti kernel berputar di tempat selamanya — server menggantung sampai ada yang menekan tombol reset.

Perilaku itu bisa diubah, dan pilihannya hanya tiga:

  • 0 — kernel menggantung tanpa batas, dan pesan panic tetap terpampang di layar.
  • Angka positif — kernel mencetak Rebooting in N seconds.., menunggu sekian detik, lalu me-restart mesin.
  • Angka negatif — kernel me-restart seketika tanpa jeda.

kernel.panic bernilai 0 membuat mesin menggantung; bernilai 60 membuat mesin restart setelah 60 detik.kernel.panic bernilai 0 membuat mesin menggantung; bernilai 60 membuat mesin restart setelah 60 detik.

Untuk memeriksa nilai yang berlaku sekarang:

Bash
sysctl kernel.panic

Untuk menjadikannya permanen, tambahkan barisnya ke berkas konfigurasi lalu muat ulang:

Bash
echo "kernel.panic = 60" | sudo tee /etc/sysctl.d/99-panic.conf
sudo sysctl --system

Angka 60 bukan pilihan acak. Dokumentasi kernel menyebutnya sebagai saran ketika sistem memakai software watchdog (mekanisme yang me-restart mesin bila tidak lagi menanggapi), dan jeda satu menit memberi ruang bagi kdump menyelesaikan penyalinan memori.

Kedua pilihan punya konsekuensi. Menggantung mempertahankan seluruh bukti di layar, tetapi layanan Anda mati sampai ada orang yang menanganinya. Restart otomatis memulihkan layanan dalam hitungan menit, dengan risiko masalahnya berulang diam-diam tanpa pernah terdiagnosa. Untuk VPS yang melayani situs publik, nilai 60 dipadukan pemantauan biasanya jadi keseimbangan yang masuk akal. Untuk mesin uji, tahan pada nilai 0 agar pesannya tidak hilang.

Urutan Pemulihan Saat Sistem Gagal Booting

Saat server berhenti di layar panic, urutan tindakan menentukan apakah Anda menyelesaikan masalahnya atau hanya menundanya.

Langkah #1: Lihat Layarnya Sebelum Menyentuh Tombol Restart

Ini langkah yang paling sering dilewati dan paling mahal akibatnya. Masuk ke konsol lewat panel penyedia layanan Anda — biasanya berupa akses VNC atau serial console — lalu potret seluruh teks yang terlihat. Setelah mesin di-restart, pesan itu hilang dan Anda kembali menebak. Layanan VPS Indonesia dan penyedia lain umumnya menyediakan akses konsol tanpa biaya tambahan.

Langkah #2: Boot ke Kernel Sebelumnya Lewat GRUB

Restart mesin, lalu tekan berulang tombol Shift (atau Esc pada sebagian sistem) untuk memunculkan menu GRUB. Pilih Advanced options, lalu pilih versi kernel satu tingkat di bawah yang terbaru. Bila mesin berhasil menyala, penyebabnya ada pada kernel terbaru atau initramfs-nya.

Langkah #3: Bangun Ulang Initramfs

Setelah masuk sistem, buat ulang berkas initramfs untuk kernel yang bermasalah. Pada distribusi berbasis Debian dan Ubuntu:

Bash
sudo update-initramfs -u -k all
sudo update-grub

Pada distribusi berbasis RHEL, Fedora, dan Arch, gunakan dracut atau mkinitcpio dengan menyebut versi kernelnya, lalu perbarui GRUB. Periksa dulu isi /boot dengan ls -lh /boot untuk memastikan berkas initramfs versi itu ada dan ukurannya wajar.

Langkah #4: Periksa Berkas Mount

Bila pesannya mengarah ke penyimpanan yang menggantung, buka /etc/fstab dan beri tanda komentar pada baris yang menunjuk perangkat yang sudah tidak ada. Untuk penyimpanan jaringan, tambahkan opsi nofail agar boot tetap berlanjut ketika perangkatnya tidak tersedia.

Langkah #5: Hapus Kernel Bermasalah, Sisakan Cadangan

Setelah sistem stabil, hapus paket kernel yang gagal agar tidak terpilih otomatis pada restart berikutnya. Sisakan minimal dua versi kernel yang terbukti berjalan.

Mengurangi Peluang Kernel Panic Terjadi Lagi

Pencegahan di sini bukan soal menghindari pembaruan, melainkan menyiapkan jalan mundur sebelum memperbaruinya.

  1. Sisakan dua kernel lama di /boot: ini jaring pengaman termurah yang ada. Konfigurasi bawaan sebagian distribusi hanya menyimpan satu, dan angka itu terlalu tipis untuk server produksi.
  2. Cadangkan sebelum memperbarui kernel: ambil snapshot mesin virtual atau backup penuh sebelum menjalankan pembaruan yang menyentuh kernel.
  3. Uji pembaruan di mesin lain lebih dulu: satu mesin uji berspesifikasi serupa cukup untuk menangkap sebagian besar masalah driver.
  4. Jalankan uji memori saat panic berulang tanpa pola: periksa RAM minimal satu siklus penuh, umumnya empat sampai delapan jam, sebelum menyimpulkan masalahnya ada di perangkat lunak.
  5. Pantau suhu dan kesehatan disk: nilai SMART yang memburuk dan suhu prosesor yang menyentuh batas biasanya muncul berminggu-minggu sebelum panic pertama.

Pertanyaan Seputar Kernel Panic

Apakah kernel panic merusak perangkat keras?

Tidak. Kernel panic justru mekanisme perlindungan — sistem berhenti supaya kerusakan tidak menyebar. Namun panic bisa menjadi gejala perangkat keras yang sudah rusak, khususnya RAM dan penyimpanan.

Apakah data saya hilang saat kernel panic?

Berkas yang sudah tersimpan aman. Yang berisiko adalah perubahan yang masih mengendap di memori dan belum ditulis ke disk. Sistem berkas modern seperti ext4 dan XFS memakai journaling sehingga umumnya pulih sendiri saat restart, meski dokumen yang belum Anda simpan tetap hilang.

Apa bedanya kernel panic dengan blue screen di Windows?

Keduanya kejadian yang sama: inti sistem operasi berhenti karena galat yang tidak bisa dipulihkan. Yang berbeda hanya istilahnya — Linux dan macOS memakai sebutan kernel panic, Windows memakai stop error yang dikenal sebagai layar biru.

Apa itu kernel panic upload mode di HP Samsung?

Itu keadaan darurat pada perangkat Android ketika kernelnya berhenti dan ponsel beralih ke mode pengunggahan dump alih-alih menyala normal. Penyebab tersering adalah berkas sistem yang rusak, pembaruan yang gagal, atau proses reset yang terputus. Pemulihannya menuntut pemasangan ulang firmware resmi, jadi sebaiknya lewat pusat servis bila perangkat masih bergaransi.

Bisakah kernel panic dipicu sengaja untuk pengujian?

Bisa, dan ini praktik lazim saat menguji apakah kdump sudah bekerja. Linux menyediakan perintah magic SysRq huruf c yang memaksa sistem crash, dijalankan sebagai root lewat /proc/sysrq-trigger. Lakukan hanya pada mesin uji, karena efeknya persis seperti panic sungguhan.

Kesimpulan

Kernel panic adalah rem darurat, bukan kerusakan itu sendiri. Sistem berhenti karena kernel menilai melanjutkan pekerjaan lebih berbahaya daripada mati, dan pesan yang tertinggal di layar hampir selalu memuat petunjuknya.

Yang membedakan pemulihan cepat dari tebak-tebakan panjang adalah kebiasaan membaca sebelum me-restart. Sisanya soal kesiapan yang dipasang jauh hari: kernel cadangan di /boot, nilai kernel.panic yang sesuai cara Anda mengelola mesin, dan jalur mencari log yang sudah pernah dicoba saat keadaan tenang. Bila panic muncul acak pada mesin yang sebelumnya stabil, periksa RAM dan penyimpanan lebih dulu sebelum membongkar konfigurasi.

Semoga artikel ini membantu.