Chinaunix首页 | 论坛 | 博客
  • 博客访问: 659084
  • 博文数量: 139
  • 博客积分: 2655
  • 博客等级: 少校
  • 技术积分: 1723
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-02 16:03
文章分类

全部博文(139)

文章存档

2013年(2)

2011年(17)

2010年(14)

2009年(86)

2008年(20)

分类:

2011-09-25 23:25:23

    kexec是一个快速启动机制,允许在已经运行的内核的上下文启动另一个Linux内核,不需要经过BIOS。BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器。这种办法可以为经常启动机器的开发者节省很多时间。
    kdump是一个新的,而且非常可信赖的内核崩溃转储机制。崩溃转储数据可以从一个新启动的内核的上下文中获取,而不是从已经崩溃的内核的上下文。当系统崩溃时,kdump使用kexec启动到第二个内核。第二个内核通常叫做捕获内核(capture kernel),以很小内存启动,并且捕获转储镜像。
 
使用kdump的步骤大致为:
0). 内核态支持(内核高于2.6.13-rc1)|kexec-tools(包含kexec,kdump,makedumpfile)和crash工具(基于gdb的调试器,分析转储的文件)
1). 第一个内核(又叫工作内核)以crashkernel=Y@X形式启动,kdump在第一个内核所在系统中以服务形式运行
2).一旦发生内核崩溃(手动或者自动),kdump利用kexec快速启动机制启动到第二个内核(capture kernel),收集第一个内核的相关内存信息并转储到文件中(makedumpfile)
3).利用crash工具进行分

makedumpfile -c -d的流程大致如下图所示(版本1.3.8),如有错误欢迎斧正:)




阅读(3832) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~