Kernel 调试之 kdump 服务& Crash 工具
什么是kdump?
kdump 是一种基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动到第二个内核。第二个内核通常叫做捕获内核,第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质
什么是crash?
crash是一个用于交互式地分析正在运行的Linux系统或者kernel crash后的core dump数据的工具
如何配置kdump?
- 在 Circle Linux 上安装kdump服务和crash工具。需要在kernel启动命令行参数中添加crashkernel参数。通过cat /proc/cmdline 查看kernel 启动配置选项,crashkernel=auto 表示根据系统内存自动保留一些内存给kernelcrash用。
circlelinux-arm64 ~]$ cat /proc/cmdline
BOOT_IMAGE=(hd1,gpt2)/vmlinuz-4.18.0-348.20.1.el8_5.aarch64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap
安装crash
dnf install crash -y