Kdump配置与使用

配置

http://blog.chinaunix.net/uid-26557245-id-3199660.html

 

  1. 1. 确认需要的软件包已经安装:

a) Kexec-tools

b) Kernel-debuginfo

c) kernel-debuginfo-common

  1. 2. 配置kdump

打开/etc/kdump.conf,添加

path /var/crash   (也可使用scp)

  1. 3. 配置内核

打开/etc/sysctl.conf,添加

vm.panic_on_oom = 1

kernel.panic_on_unrecovered_nmi = 1

kernel.unknown_nmi_panic = 1

kernel.panic_on_oops = 1

kernel.panic = 10

  1. 4. 配置启动项

打开/etc/grub.conf,添加

crashkernel=256M

nmi_watchdog=[0|1|2],0是禁用,1和2都是启用, 有些硬件支持1,有些硬件支持2

  1. 5. 启动kdump服务

# chkconfig kdump on

# service kdump start

  1. 6. 测试

# echo "c" > /proc/sysrq-trigger

 

如何判断捕获内核是否加载

可通过查看 /sys/kernel/kexec_crash_loaded 的值。“1”为已经加载,“0”为还未加载。

使用

例子1:

1. 找到引发内核崩溃的栈位置

    #4 [c0000000f8ce37c0] .get_vmalloc_info at c000000000255900

2. dis命令  

    crash> dis -l c000000000255900 
     /usr/src/debug/kernel-ppc64-3.0.8/linux-3.0/fs/proc/mmu.c: 47 
     0xc000000000255900 <.get_vmalloc_info+112>:     ld      r10,8(r11)

3. 对照源码

    对照源码,查看汇编命令对应的变量

4. struct命令 

    struct vm_struct 0000000100000000 

5.  



posted @ 2016-04-18 11:00  jawfeng  阅读(1776)  评论(0)    收藏  举报