linux配置kennel panic、hang后自动重启并记录日志与内存转储

发布于 2023-01-29  794 次阅读


配置重启

修改/etc/sysctl.conf

#挂起超过十分钟
kernel.hung_task_timeout_secs = 600
#挂起转为panic
kernel.hung_task_panic= 1
#panic后等待重启的时间
kernel.panic = 20
#测试重启用
kernel.sysrq = 1

sysctl -p /etc/sysctl.conf

配置日志和转储

安装所需要的包

apt install kdump-tools crash kexec-tools makedumpfile linux-image-$(uname -r)-dbg

检测状态

grep USE_KDUMP /etc/default/kdump-tools
grep LOAD_KEXEC /etc/default/kexec
kdump-config show

测试内核恐慌

echo c > /proc/sysrq-trigger

测试内核挂起

fsfreeze --freeze /root
echo crap > /root/a

查看内核恐慌转储

cd /var/crash/
crash  /usr/lib/debug/vmlinux-$(uname -r) dump.xxxxx

查看内核恐慌日志

 

 

 

参考

https://www.cyberciti.biz/faq/how-to-on-enable-kernel-crash-dump-on-debian-linux/


面向ACG编程