kdump初探
来源:互联网 发布:实时监测网速软件 编辑:程序博客网 时间:2024/05/16 12:12
介绍:
kdump有两个部分:kdump和kexec
kdump是一种内核的crash dump机制,在内核crash之后可以捕获内存中的数据,用来后续进行分析崩溃原因。
kdump需要配置两个kernel,分别为standard(production)kernel和crash(capture)kernel。前一个是生产用的正式kernel,而后一个是用来捕获生产kernel崩溃时内存信息的kernel。
当第一个内核崩溃时,第二个内核被加载到第一个内核的位置并启动。然后就从这个新启动内核的上下文获取崩溃转储数据。这样就使整个系统具有了高可靠性。
kexec最初是用来快速启动系统的,它可以通过正在运行内核的的上下文来启动系统,而无需经过BIOS。由于BIOS需要耗费大量时间,而kexec跳过了系统重启过程中最耗时的部分,即固件部分,所以使用kexec自然就为需要频繁启动系统的工作节约了大量时间。kexec启动用于kdump来捕获内核时绕过了BIOS也使第一个内核的内存得以保留。
实验操作:
1、安装相关的包。
重要的软件包括:
kdump
kexec-tools
kernel-debuginfo
在Fedora19直接使用yum安装,可能会提示找不到软件包。原因是yum默认的源中debuginfo的enabled为0。将其改为1即可。或者直接使用官方wiki中的方式
# yum install --enablerepo=fedora-debuginfo --enablerepo=updates-debuginfo kexec-tools crash kernel-debuginfo安装完成后记得启动服务
# systemctl start kdump.service
ps:此方法可能安装较高版本的kernel-debuginfo,可能会不能用。如果不行的话卸载掉,仍然使用yum源Fedora-debuginfo默认的地址安装即可,不要用updates包中的
2、配置grub
在启动参数中加入
crashkernel=
的内容,有多种写法,包括
crashkernel = x@y x是为dump捕获内核保留的内存,y是保留部分内存的开始位置
crashkernel= 512M-2G:64M,2G-:128M 物理内存不足512M时,不分配内存给kdump;物理内存为512M至2G时,分配64M;物理内存大于2G后分配128M
内存分配成功后内核启动后就会输出下列信息:
# dmesg
Reserving 128M of memory at 32MB for crashkernel
ps:grub2启动参数配置
grub2的启动参数与grub配置不同。grub可以直接在文件中修改,而grub2需要编辑文件
# vi /etc/default/grub
/etc/default/grub
之后在GRUB_CMDLINE_LINUX后面添加需要的参数。完成后保存退出,执行命令
# grub2-mkconfig -o /boot/grub2/grub.cfg
3.触发崩溃(使用sysrq-c方式)
# echo c > /proc/sysrq-trigger
系统会自动触发崩溃,之后转到crash kernel,进行内核的捕获。捕获完成后会自动重启。重启后生成文件/var/crash/127.0.0.1-2014.07.12-23:32:28/vmcore,这就是接下来可以分析的dump file
# crash vmcore vmlinux
参考资料:
1.Fedora wiki:How to use kdump to debug kernel crashes https://fedoraproject.org/wiki/How_to_use_kdump_to_debug_kernel_crashes
2.kdump学习小结 http://www.360doc.com/content/12/0321/22/7982302_196442500.shtml
3.http://www.ibm.com/developerworks/cn/linux/l-kexec/
4.http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/index.html
5.linux内核精髓:精通linux内核必会的75个绝技
- kdump初探
- kdump
- kdump
- kdump
- kdump
- Kdump之kdump分析
- kdump之kdump分析
- rhel5 kdump
- kdump配置
- kdump设置
- linux kdump
- 什么是Kdump?
- kdump配置
- Kdump之kdump分析(续)
- Kdump如何配置
- kdump 学习小结
- Kdump 学习小结
- Kdump 学习小结
- poj2031 Building a Space Station 最小生成树,kruskal
- 但仍有待提高收入奋斗三人份是rf
- 刀锋入骨髓的特点否认色的日粉丝rf
- 2014华为机试西安地区A组试题
- Shell parameter expansion
- kdump初探
- cgroups
- Email address validation using ASP.NET MVC data type attributes
- How do I add placeholder text from the model into a MVC view?
- Enable Password Resetting with Simple Membership in MVC 4
- Working with Roles in ASP.NET MVC 4+
- linux 实时时钟(RTC)驱动
- No Tipping +回溯+物理+贪心
- Display a view from another controller in ASP.NET MVC