Redhat 6.5 配置kdump方法

时间:2021-09-25 08:18:33

Kdump 是一种基于 kexecLinux内核崩溃捕获机制,将 kernel崩溃前的内存镜像保存,程序员通过分析该文件找出 kernel崩溃的原因,从而进行系统改进。

本次测试环境:Redhat 6.5

注意:设置kdump需要重启操作系统

 

1. 确定kdump相关package已安装好

[root@server01 ~]# rpm -qa | grep kdump

system-config-kdump-2.0.5-15.el6.noarch

[root@server01 ~]# rpm -qa | grep kexec

kexec-tools-2.0.0-273.el6.x86_64

 

2. 修改启动参数,在内核行末尾添加红色部分

vim /etc/grub.conf

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=4f9abead-007c-4594-b870-793b53ab329d rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=128M

# 注意:上面是一行

 

3. 修改/etc/kdump.conf,配置dump文件保存在何处,默认保存在/var/crash下,可以不用修改,但要保证/var/crash下有足够磁盘空间

 

4. 设定kdump服务开机启动

chkconfig kdump on

 

5. 重启服务器使配置生效:reboot

 

6. 验证是否生效

128M内存不被正常的系统使用,为捕获内核保留,free -m的输出会显示内存比不加参数时少了128M

 

[root@server01 ~]# service kdump status

Kdump is operational

 

通过sysrq强制系统崩溃,注意:不要在生产环境做此步操作

echo "c" > /proc/sysrq-trigger

系统会重启内核,重启后查看宕机文件:

[root@server01 ~]# ll /var/crash/

total 4

drwxr-xr-x 2 root root 4096 Aug 21 14:47 127.0.0.1-2017-08-21-14:45:14

[root@server01 ~]# ll /var/crash/127.0.0.1-2017-08-21-14\:45\:14/

total 24244

-rw------- 1 root root 24727586 Aug 21 14:45 vmcore

-rw-r--r-- 1 root root    89720 Aug 21 14:45 vmcore-dmesg.txt