利用Kdump分析内核奔溃原因(1)

简介:
机器X  Centos 5.5 X64  hadoop +mongdb+hbase 机器内核奔溃数次,日志中均查不到详细原因 逐 打算利用kdump在奔溃时转存内存。
本文介绍如何开启kdump进行内存转存。
1 whats kdump
具体kdump是如何工作的 你可以参考
http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/?cmp=dwnpr&cpb=dw&ct=dwcon&cr=cn_51CTO_dl&ccy=cn
如果你对windows比较熟悉  你就简单的这么理解,kdump 做的工作就是windows的华医生的工作。what's Dr Waston?
开始-》运行-》 drwtsn32 看看就晓得了。
2  vi /etc/kdump.conf
添加如下行
**********************************************
ext3 UUID=4a6034d4-3f03-42d8-b7da-4c76c828a0ad
path /var/kdump
core_collector makedumpfile -c  --message-level 1
default shell
**************************************
这里以将内核转存到磁盘上的文件为例,如想用ssh ftp 或设备 参考kdunp文档。
上述的ext3 UUID=XXX 是/var/kdump目录所在的磁盘的UUID,每个机器不同, 可以使用 blkid 查看到,

core_collector makedumpfile -c  --message-level 1  
可以用0 1 2 4 7 8 15 7种选项  区别在于dump出的文件内容不同
Message | progress    common    error     debug
     Level   | indicator   message   message   message
    ---------+-----------------------------------------
           0 |
           1 |     X
           2 |                X
           4 |                          X
         * 7 |     X          X         X
           8 |                                    X
          15 |     X          X         X         X

这一行 也可用


core_collector makedumpfile -c  -d 1 代替
这里 可以选择0 1 2 4 8 16 31 
Dump  |  zero   cache   cache    user    free
     Level |  page   page    private  data    page
    -------+---------------------------------------
        0  |
        1  |  X
        2  |         X
        4  |         X       X
        8  |                          X
       16  |                                  X
       31  |  X      X       X        X       X




修改内核引导参数,为启动捕获内核预留内存
vi /boot/gurb/gurb.conf
kerbel 后添加  crashkernel=128M@16M

128M@16M可自己根据情况修改

4 chkconfig kdump on

5 reboot

6 service kdump status
如果状态为 Kdump is operational 则可以继续下面的操作

7  人工
触发 dump一次 测试前面配置是否正确
Kdump echo c > /proc/sysrq-trigger
之后 系统奔溃 转存 重启 

8  ls -al /var/kdump/
可以看到 
127.0.0.1-系统时间的目录 里面就是vmorce转存文件了


ok 设置成功  下次真奔溃的时候  上分析转存过程






      本文转自天山三害 51CTO博客,原文链接:http://blog.51cto.com/skybug/1337799,如需转载请自行联系原作者





相关文章
|
2月前
|
运维 安全 Linux
在Linux中,如何排查系统启动问题?
在Linux中,如何排查系统启动问题?
|
4月前
|
运维 NoSQL Ubuntu
深入理解Linux中的"crash"命令:内核崩溃的调试利器
`crash`是Linux内核崩溃调试工具,用于分析内核崩溃转储文件,提供GDB-like的交互式CLI。通过加载`vmcore`文件和内核映像,管理员可以查看系统状态、调用栈、内存布局等。安装`crash`可使用包管理器,如`apt-get`或`yum/dnf`。尽管有学习曲线且依赖转储文件,但`crash`在系统故障排查中极其重要。
|
10月前
|
存储 数据安全/隐私保护 Windows
4.5 Windows驱动开发:内核中实现进程数据转储
多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更好的对样本进行分析,当然某些加密壳可能无效但绝大多数情况下是可以被转存的。
58 0
4.5 Windows驱动开发:内核中实现进程数据转储
|
Linux
LINUX检查一个进程内存增长的脚本
LINUX检查一个进程内存增长的脚本
120 0
|
安全 Linux Android开发
Linux 内核最新高危提权漏洞:脏管道 (Dirty Pipe)
Linux 内核最新高危提权漏洞:脏管道 (Dirty Pipe)
352 0
Linux 内核最新高危提权漏洞:脏管道 (Dirty Pipe)
|
人工智能 Java 关系型数据库
Linux下日志文件过大解决方案
Linux下日志文件过大解决方案
294 0
|
Linux
【翻译】Linux 内核僵尸 cgroup 的清理
翻译自原文:https://lwn.net/Articles/787614/ Cgroup是linux内核中一种有效的资源管理机制,但是当cgroup本身成为一种资源问题时又会发生什么呢?在2019年的LSMM大会上,Roman Gushchin描述了一些他遇到的删除的cgroup会继续留在系统中的问题。其中有些已经被修复,但问题并没有被真正解决。 Cgroup是通过cgroup/cg
1260 0
|
Linux NoSQL
(学习笔记)使用 Kdump 检查 Linux 内核崩溃
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396544 ...
1518 0