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
安装kernel-debuginfo kernel-debuginfo-common,下载前先要确认下自己主机的内核版本:

本文介绍了Linux系统中的kdump服务和crash工具,用于内核崩溃转储和分析。kdump利用kexec启动捕获内核以保留崩溃信息,而crash则是一个用于分析core dump数据的交互式工具。配置kdump需要在kernel启动参数中添加crashkernel选项,并安装相应的crash工具。一旦内核崩溃,crash工具可用于查看内核堆栈、内核消息缓冲区和虚拟内存等信息。
最低0.47元/天 解锁文章
9247

被折叠的 条评论
为什么被折叠?



