👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
开启Kdump会占用一部分操作系统的内存、磁盘空间,可能会对系统性能产生一定影响。
不同Linux操作系统开启Kdump方式不同,请查看其官方文档:
Red Hat Enterprise Linux/CentOS
Debian/Ubuntu
SUSE/OpenSUSE
其他类Unix操作系统
什么是Kdump?
操作步骤
登录目标实例。
执行如下命令,安装Kdump工具。
yum install crash kexec-tools makedumpfile -y
配置指定崩溃转储内存的大小。
执行如下命令,执行如下命令,打开内核配置文件。
vim /etc/default/grub
按i键进入编辑模式,在GRUB_CMDLINE_LINUX中修改crashkernel参数值auto为128M。
请将128M替换为您期望为崩溃转储(Kdump)预留的内存大小。
若GRUB_CMDLINE_LINUX行中没有crashkernel参数,请自行添加。
按esc键退出编辑,输入:wq按回车键,保存并退出文件。
执行如下命令更新GRUB配置文件,使配置生效。
BIOS启动模式
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI启动模式
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
执行如下命令,重启实例。
reboot
配置Kdump。
执行如下命令,打开内核配置文件。
vim /etc/kdump.conf
按i键进入编辑模式,修改如下内容:
path /var/crash:请将/var/crash替换为您期望的Kdump文件存放目录,本文保持默认。
core_collector makedumpfile -l -message-level 1 -d 31:请添加-c参数,压缩Kdump文件,减少磁盘占用。
default reboot:新增该行,表示生成Kdump后,重启操作系统。
按esc键退出编辑,输入:wq按回车键,保存并退出文件。
开启Kdump。
执行如下命令,运行Kdump工具。
systemctl start kdump.service
执行如下命令,配置Kdump工具开机自启动。
systemctl enable kdump.service
执行如下命令,查看Kdump运行状态。
systemctl status kdump.service
依次执行如下命令,手动触发内核崩溃,验证Kdump是否可用。
echo 1 > /proc/sys/kernel/sysrqecho c > /proc/sysrq-trigger
若Kdump正常运行,系统将自动重启,并在您指定的Kdump文件存放目录(本文为/var/crash)下生成如下图所示内容。
若Kdump未正常运行,请根据前文检查Kdump是否正确安装、配置。
后续步骤
登录目标实例。
安装kernel-debug包。
执行如下命令,查看当前操作系统内核版本。
uname -r
前往CentOS官方镜像站,获取与实例内核版本相同的kernel-debuginfo-common、kernel-debuginfo两个RPM包的下载链接。
下载并安装对应RPM包。
执行如下命令,下载kernel-debuginfo-common包。
wget http://debuginfo.centos.org/7/x86_64/kernel-debuginfo-common-x86_64-3.10.0-1160.102.1.el7.x86_64.rpm
执行如下命令,安装kernel-debuginfo-common包。
rpm -ivh kernel-debuginfo-common-x86_64-3.10.0-1160.102.1.el7.x86_64.rpm
执行如下命令,下载kernel-debuginfo包。
wget http://debuginfo.centos.org/7/x86_64/kernel-debuginfo-3.10.0-1160.102.1.el7.x86_64.rpm
执行如下命令,安装kernel-debuginfo包。
rpm -ivh kernel-debuginfo-3.10.0-1160.102.1.el7.x86_64.rpm
安装crash。
yum install crash -y
执行如下命令,查看crash版本,验证是否成功安装crash。
crash -v
使用crash查看Kdump信息。
执行如下命令,即可进入crash命令行页面,查看Kdump文件信息。
crash /usr/lib/debug/lib/modules/$(uname -r)/vmlinux /var/crash/<timestamp>/vmcore
crash提供了多种命令,帮助您快速提取Kdump文件中的关键信息。了解更多。
如需退出crash交互模式并停止crash,请输入exit或q并按回车键确认。