linux dump作用

linux dump作用

ID:21143534

大小:62.41 KB

页数:7页

时间:2018-10-19

linux dump作用_第1页
linux dump作用_第2页
linux dump作用_第3页
linux dump作用_第4页
linux dump作用_第5页
资源描述:

《linux dump作用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、使用Crash工具分析Linuxdump文件江卫,系统工程师,西艾(广州)软件开发有限公司简介: Linux内核由于其复杂性,使得对内核出现的各种异常的追踪变得异常困难。本文将介绍内核中的内存转储机制,以及如何使用crash工具对内核产生的内存存储文件进行分析。通过对本文的学习,读者可以像专业内核开发者那样去追踪和修复内核的错误。本文的标签:  crash, dump, linux, 使用, 工具分析, 文件标记本文!发布日期: 2010年3月29日 级别: 中级 访问情况: 8721次浏览 评论: 0 (查看 

2、 添加评论 -登录) 平均分(23个评分)为本文评分前言Linux内核(以

3、下简称内核)是一个不与特定进程相关的功能集合,内核的代码很难轻易的在调试器中执行和跟踪。开发者认为,内核如果发生了错误,就不应该继续运行。因此内核发生错误时,它的行为通常被设定为系统崩溃,机器重启。基于动态存储器的电气特性,机器重启后,上次错误发生时的现场会遭到破坏,这使得查找内核的错误变得异常困难。内核社区和一些商业公司为此开发了很多种调试技术和工具,希望可以让内核的调试变得简单。其中一种是单步跟踪调试方法,即使用代码调试器,一步步的跟踪执行的代码,通过查看变量和寄存器的值来分析错误发生的原因。这一类的调试器有gdb,kdb,kgdb。另一种方法是在系统崩溃时,将内存保存起来,供事后进

4、行分析。多数情况下,单步调式跟踪可以满足需求,但是单步跟踪调试也有缺点。如遇到如下几种情况时:·错误发生在客户的机器上。·错误发生在很关键的生产机器上。·错误很难重现。单步调试跟踪方法将无能为力。对于这几种情况,在内核发生错误并崩溃的时候,将内存转储起来供事后分析就显得尤为重要。本文接下来将介绍内核的内存转储机制以及如何对其进行分析。回页首内核的内存转储机制由于Linux的开放性的缘故,在Linux下有好几种内存转储机制。下面将对它们分别做简要的介绍。LKCDLKCD(LinuxKernelCrashDump)是Linux下第一个内核崩溃内存转储项目,它最初由SGI的工程师开发和维护。它

5、提供了一种可靠的方法来发现、保存和检查系统的崩溃。LKCD作为Linux内核的一个补丁,它一直以来都没有被接收进入内核的主线。目前该项目已经完全停止开发。DiskdumpDiskdump是另外一个内核崩溃内存转储的内核补丁,它由塔高(TakaoIndoh)在2004年开发出来。与LKCD相比,Diskdump更加简单。当系统崩溃时,Diskdump对系统有完全的控制。为避免混乱,它首先关闭所有的中断;在SMP系统上,它还会把其他的CPU停掉。然后它校验它自己的代码,如果代码与初始化时不一样。它会认为它已经被破坏,并拒绝继续运行。然后Diskdump选择一个位置来存放内存转储。Diskdu

6、mp作为一个内核的补丁,也没有被接收进入内核的主线。在众多的发行版中,它也只得到了RedHat的支持。NetdumpRedHat在它的Linux高级服务器2.1的版本中,提供了它自己的第一个内核崩溃内存转储机制:Netdump。与LKCD和Diskdump将内存转储保存在本地磁盘不同,当系统崩溃时,Netdump将内存转储文件通过网络保存到远程机器中。RedHat认为采用网络方式比采用磁盘保的方式要简单,因为当系统崩溃时,可以在没有中断的情况下使用网卡的论询模式来进行网络数据传送。同时,网络方式对内存转储文件提供了更好的管理支持。与Diskdump一样,Netdump没有被接收进入内核的

7、主线,目前也只有RedHat的发行版对Netdump提供支持。KdumpKdump是一种基于kexec的内存转储工具,目前它已经被内核主线接收,成为了内核的一部分,它也由此获得了绝大多数Linux发行版的支持。与传统的内存转储机制不同不同,基于Kdump的系统工作的时候需要两个内核,一个称为系统内核,即系统正常工作时运行的内核;另外一个称为捕获内核,即正常内核崩溃时,用来进行内存转储的内核。在本文稍后的内容中,将会介绍如何设置kump。MKdumpMKdump(minikerneldump)是NTT数据和VALinux开发另一个内核内存转储工具,它与Kdump类似,都是基于kexec,都

8、需要使用两个内核来工作。其中一个是系统内核;另外一个是mini内核,用来进行内存转储。与Kdump相比,它有以下特点:·将内存保存到磁盘。·可以将内存转储镜像转换到lcrash支持格式。·通过kexec启动时,mini内核覆盖第一个内核。回页首各种内存转储分析工具与具有众多的内存转储机制一样,Linux下也有众多的内存转储分析工具,下面将会逐一做简单介绍。LcrashLcrash是随LKCD一起发布的一个内内存储分析工具。随着LKC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。