Kdump配置与使用
配置
http://blog.chinaunix.net/uid-26557245-id-3199660.html
- 1. 确认需要的软件包已经安装:
a) Kexec-tools
b) Kernel-debuginfo
c) kernel-debuginfo-common
- 2. 配置kdump
打开/etc/kdump.conf,添加
path /var/crash (也可使用scp)
- 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
- 4. 配置启动项
打开/etc/grub.conf,添加
crashkernel=256M
nmi_watchdog=[0|1|2],0是禁用,1和2都是启用, 有些硬件支持1,有些硬件支持2
- 5. 启动kdump服务
# chkconfig kdump on
# service kdump start
- 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.

浙公网安备 33010602011771号