Apa itu utilitas SysRq
Jika kernel Anda membeku atau/dan hang, Anda dapat menggunakan alat SysRq 'ajaib'. Kunci SysRq 'ajaib' memungkinkan akses instan ke beberapa perintah kernel penting, termasuk Sync, Unmount, kill proses, showMem, showPc dan reBoot. Menurut dokumentasi kernel Linux:
Ini adalah kombo kunci 'ajaib' yang dapat Anda tekan yang akan ditanggapi oleh kernel terlepas dari apa pun yang dilakukannya, bahkan jika konsol tidak responsif.Cara Mengaktifkan SysRq
Kunci SysRq dapat diaktifkan dengan mengatur 'Magic SysRq'. Anda harus memastikan bahwa kernel.sysrq di sysctl.conf diatur dengan benar:
kernel.sysrq = 1 (SysRq turned ON) kernel.sysrq = 0 (SysRq turned OFF)Catatan :Pada CentOS/RHEL 7 Anda harus membuat perubahan menjadi “/usr/lib/sysctl.d/50-default.conf”
Pengaturan di atas memastikan bahwa SysRq diaktifkan secara default setelah sistem boot (Secara default dinonaktifkan di CentOS/RHEL). Untuk mengaktifkannya, jalankan langsung di sesi saat ini, gunakan perintah di bawah ini:
# echo 1 > /proc/sys/kernel/sysrq
Dan untuk menonaktifkannya lagi:
# echo 0 > /proc/sys/kernel/sysrqCATATAN :Karena mengaktifkan SysRq memberi seseorang dengan akses konsol fisik kemampuan ekstra, disarankan untuk menonaktifkannya saat tidak memecahkan masalah atau untuk memastikan bahwa akses konsol fisik diamankan dengan benar.
Cara memicu acara SysRq
Ada beberapa cara untuk memicu peristiwa SysRq. Pada sebagian besar arsitektur, peristiwa SysRq dapat dipicu dari konsol dengan kombinasi tombol berikut:
Alt+PrintScreen+[CommandKey]
PrintScreen adalah Kunci yang digunakan sebagai kunci SysRq di sebagian besar sistem Linux.
Untuk mengakses sistem yang tidak responsif, tekan Alt+SysRq dan H untuk mendapatkan daftar opsi. Versi kernel yang berbeda mungkin memiliki opsi yang berbeda. Untuk mendapatkan opsi yang didukung untuk kernel Anda saat ini, Anda dapat menjalankan perintah di bawah ini sebagai root:
# echo h > /proc/sysrq-trigger
dan periksa keluaran dmesg. Di bawah ini adalah contoh pada sistem RHEL 7:
# dmesg [ 4338.124035] SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Jenis acara SysRq
Ada beberapa kejadian SysRq yang dapat dipicu setelah fasilitas SysRq diaktifkan. Ini agak berbeda antara versi kernel, tetapi ada beberapa yang umum digunakan:
Cara memicu acara SysRq dari shell root
Jika Anda memiliki shell root pada mesin (dan sistem cukup merespons sehingga Anda dapat melakukannya), Anda juga dapat menulis karakter kunci perintah ke /proc/sysrq-trigger mengajukan. Ini berguna untuk memicu info ini saat Anda tidak berada di konsol sistem atau untuk memicunya dari skrip.
# echo 'm' > /proc/sysrq-trigger
Metode ini memiliki manfaat tambahan untuk bekerja bahkan ketika kernel.sysrq disetel ke 0.
CentOS / RHEL 6 :Cara mengkonfigurasi kdumpCentOS / RHEL 7 :Cara mengkonfigurasi kdump