获得vmcore

Kernel dump 是什么

Kdump – 捕捉kernel dump的工具

Kdump的工作原理

Kdump的配置

Dump分析的工具crash(1)

准备环境

根据vmcore文件获取内核版本及系统信息

kernel debuginfo 内核符号文件

Kernel source code

RHEL与SLES的不同

时区设置

运行crash utility:基于vmcore或基于live system

Dump分析的思路:从哪里开始

判断panic类型

系统信息 sys

Message buffer – log

Kernel panic的若干种类型

Hard lockup

Kernel panic – not syncing: Watchdog detected hard LOCKUP on cpu 0

soft lockup

kernel panic – not syncing: softlockup: hung tasks

hung task panic

kernel panic – not syncing: hung_task: blocked tasks

oom

Kernel panic – not syncing: Out of memory: system-wide panic_on_oom is enabled

空指针/非法指针

BUG: unable to handle kernel NULL pointer dereference at 0000000000000650
BUG: unable to handle kernel paging request at ffff88081fc03cd0

MCE(Machine Check Exception)

Kernel panic – not syncing: Fatal Machine Check

NMI

Kernel panic – not syncing: NMI IOCK error: Not continuing

HP Watchdog timer module [hpwdt]

Kernel panic – not syncing: An NMI occurred, please see the Integrated Management Log for details

SysRq

PANIC: “SysRq: Trigger a crashdump”

BUG_ON() 断语

kernel BUG at fs/inode.c:322!

理解函数调用栈(backtrace)

代码的执行轨迹

CPU寄存器状态pt_regs
栈帧里的数据
内核栈溢出
汇编指令
调用约定(call convention)
call/ret/leave指令
参数传递约定
通用寄存器,caller-saved vs. callee-saved
对照源代码
changelog
内核模块
Taint flags
crash utility如何加载内核模块的调试信息
Hang分析

思路

  1. 是没有可运行的进程?
  2. 还是有很多进程想运行但抢不到CPU?
  3. 什么是uninterruptible sleep
  4. 抢占式内核也有不能被抢占的情况
  5. 自旋锁spinlock
  6. crash工具的基本命令

进程 ps/task/runq/bt

内存kmem/vm/swap/ipcs

IO : dev/mount/files/fuser

网络 net

Crash utility扩展工具

PyKdump

kernel panic必备知识的更多相关文章

  1. Linux Kernel PANIC(三)--Soft Panic/Oops调试及实例分析【转】

    转自:https://blog.csdn.net/gatieme/article/details/73715860 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  2. CentOS系统Kernel panic - not syncing: Attempted to kill init

    结果启动虚拟机出现如下问题: Kernel panic - not syncing: Attempted to kill init     解决方法: 系统启动的时候,按下'e'键进入grub编辑界面 ...

  3. kernel/panic.c

    /* *  linux/kernel/panic.c * *  Copyright (C) 1991, 1992  Linus Torvalds */ /* * This function is us ...

  4. Java面试必备知识

    JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...

  5. Kernel Panic常见原因以及解决方法

    Technorati 标签: Kernel Panic 出现原因 1. Linux在中断处理程序中,它不处于任何一个进程上下文,如果使用可能睡眠的函数,则系统调度会被破坏,导致kernel panic ...

  6. linux启动报错:kernel panic - not attempted to kill init

    系统类型:CentOS 6.4(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 解决办法: 系统启动的时候,按下‘e’键进入g ...

  7. Apache Tomcat8必备知识

    Apache Tomcat8必备知识 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 一.Apache Tomcat 8介绍 Apache Tomcat ...

  8. LFS:kernel panic VFS: Unable to mount root fs

    说明: 使用Vm虚拟机构建自己的LFS系统时,系统引导不成功,提示 kernel panic VFS: Unable to mount root fs 参考链接:http://www.52os.net ...

  9. <转载>Div+Css布局教程(-)CSS必备知识

    目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的 ...

随机推荐

  1. servlet和Spring的DispatcherServlet详解

    Servlet是什么 1. Servlet是服务器端运行的一个程序,是一个被编译好的Java类.它不是框架等. 2. Web容器的启动,需要依赖Servlet.当web服务器开始执行时,servlet ...

  2. Hello, HTML5!

    一个典型的HTML5文档的基础结构如下: <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”utf ...

  3. apache storm 的安装

    原文: http://storm.praveendeshmane.co.in/storm/storm-0-10-0-installation-on-ubuntu-14-04.jsp --------- ...

  4. 《解读window核心编程》 之 注冊表

    1 注冊表的作用及组织形式 Windows系统使用注冊表来存储系统和应用程序配置数据.非常多系统和应用程序重要的配置的信息都存储在注冊表中. 注冊表是一种以树型结构组织的数据库.树的每个节点称 作键( ...

  5. hdu 4768 异或运算

    http://acm.hdu.edu.cn/showproblem.php?pid=4768 貌似非常多人是用的二分 可是更好的做法貌似还是异或 对于第k个人.假设他接到偶数个传单.那么异或的结果还是 ...

  6. jQuery - 获取爱好

    <!DOCTYPE html > <html> <head> <title> 获取爱好 </title> <meta http-equ ...

  7. oc39-- 类的内存存储

    虚线是isa的指向,实线是继承关系. // // main.m // 类的本质 #import <Foundation/Foundation.h> #import "Person ...

  8. expectation-maximization algorithm ---- PRML读书笔记

    An elegant and powerful method for finding maximum likelihood solutions for models with latent varia ...

  9. E20170907-ts

    flash  vt. 使闪光,使闪烁; 拍出,发出(电报等); 〈口〉炫耀;          adj. 闪光的,闪耀的,一闪而过的; 浮华的; 庞大的;           n. 闪光; 闪光灯下摄 ...

  10. Eclipse项目包上出现红叉如何去除

    Eclipse项目包上出现红叉是因为jdk的版本不一致. 项目名--->Properties----->Java Compiler 图1: