設定変更前に、現在のカーネルの panic 関連設定を表示。sysctl -a か各パラメータに対応するファイルを参照する。
# sysctl -a | grep panic kernel.panic = 0 kernel.panic_on_oops = 0 kernel.softlockup_panic = 0 kernel.unknown_nmi_panic = 0 kernel.panic_on_unrecovered_nmi = 0 kernel.panic_on_io_nmi = 0 kernel.hung_task_panic = 0 vm.panic_on_oom = 0 # cat /proc/sys/kernel/panic 0 # cat /proc/sys/kernel/panic_on_oops 0
カーネルパラメータを変更するには sysctl -w を使う。反映されているかも確認。
# sysctl -w kernel.panic=60 kernel.panic = 60 # cat /proc/sys/kernel/panic 60 # sysctl -w kernel.panic_on_oops=1 kernel.panic_on_oops = 1 # cat /proc/sys/kernel/panic_on_oops 1 # sysctl -a | grep panic kernel.panic = 60 kernel.panic_on_oops = 1 kernel.softlockup_panic = 0 kernel.unknown_nmi_panic = 0 kernel.panic_on_unrecovered_nmi = 0 kernel.panic_on_io_nmi = 0 kernel.hung_task_panic = 0 vm.panic_on_oom = 0
再起動後もパラメータを反映させたい、永続的にパラメータを使いたい場合は、/etc/sysctl.conf または /etc/sysctl.d/*.conf に書き込む。反映させるには sysctl -p。
# cat <<EOT>> /etc/sysctl.d/local.conf kernel.panic = 60 kernel.panic_on_oops = 1 EOT # sysctl -p kernel.panic = 60 kernel.panic_on_oops = 1
意図的にカーネルパニックを発生させて、設定のテストを行う。
# sysctl -a | grep sys kernel.sysrq = 438 # cat /proc/sys/kernel/sysrq 438 # echo 1 > /proc/sys/kernel/sysrq # cat /proc/sys/kernel/sysrq 1 # echo c > /proc/sysrq-trigger