kernel panic必备知识
获得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分析
思路
- 是没有可运行的进程?
- 还是有很多进程想运行但抢不到CPU?
- 什么是uninterruptible sleep
- 抢占式内核也有不能被抢占的情况
- 自旋锁spinlock
- crash工具的基本命令
进程 ps/task/runq/bt
内存kmem/vm/swap/ipcs
IO : dev/mount/files/fuser
网络 net
Crash utility扩展工具
PyKdump
kernel panic必备知识的更多相关文章
- Linux Kernel PANIC(三)--Soft Panic/Oops调试及实例分析【转】
转自:https://blog.csdn.net/gatieme/article/details/73715860 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- CentOS系统Kernel panic - not syncing: Attempted to kill init
结果启动虚拟机出现如下问题: Kernel panic - not syncing: Attempted to kill init 解决方法: 系统启动的时候,按下'e'键进入grub编辑界面 ...
- kernel/panic.c
/* * linux/kernel/panic.c * * Copyright (C) 1991, 1992 Linus Torvalds */ /* * This function is us ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- Kernel Panic常见原因以及解决方法
Technorati 标签: Kernel Panic 出现原因 1. Linux在中断处理程序中,它不处于任何一个进程上下文,如果使用可能睡眠的函数,则系统调度会被破坏,导致kernel panic ...
- linux启动报错:kernel panic - not attempted to kill init
系统类型:CentOS 6.4(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 解决办法: 系统启动的时候,按下‘e’键进入g ...
- Apache Tomcat8必备知识
Apache Tomcat8必备知识 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 一.Apache Tomcat 8介绍 Apache Tomcat ...
- LFS:kernel panic VFS: Unable to mount root fs
说明: 使用Vm虚拟机构建自己的LFS系统时,系统引导不成功,提示 kernel panic VFS: Unable to mount root fs 参考链接:http://www.52os.net ...
- <转载>Div+Css布局教程(-)CSS必备知识
目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的 ...
随机推荐
- Windows安装php Oracle扩展
前言 去IOE的浪潮下,很多大型公司古董级的系统还在使用IOE设备.新东家有些年头的系统都是使用Oracle数据库,为了省事,新架构下的业务直接通过编程语言API操作Oracle数据库,安装相关扩展对 ...
- Linux Container测试之block IO
简介 Linux Container是OS级别的虚拟化方案,它相比于一般的虚拟机没有了硬件模拟以及指令模拟,相比传统虚拟机具有更低的开销,因此可以应用到私有云之中.LXC目前的版本支持对memor ...
- ZPush--基于netty4实现的苹果通知推送服务(APNs)Javaclient
简单说下实现苹果通知推送服务(APNs)client的一些要注意的地方: 使用长连接: sanboxserver是无用的,调试时直接用"gateway.push.apple.com" ...
- boost::shared_ptr
boost::shared_ptr是boost库中用来管理指针的模板,使用它需要#include <boost/shared_ptr.hpp>.本文介绍它的一些基本用法. 第一,boost ...
- HIHO 16 B
卡了~卡了就写不下去了~其实是不会~ 大牛提醒,答案必定是SUM的因子~细细想了好久,才想通~差距~ 因为是所有的和GCD,所以GCD必定整除SUM.. 然后,枚举这些因子,统计前缀和的MOD,看有多 ...
- [Cypress] Create a Single Custom Cypress Command from Multiple Commands
Cypress provides a straightforward API that allows you to define custom commands. In this lesson, we ...
- Gevent的协程实现原理
之前之所以看greenlet的代码实现,主要就是想要看看gevent库的实现代码. .. 然后知道了gevent的协程是基于greenlet来实现的...所以就又先去看了看greenlet的实现... ...
- Ural 1353 Milliard Vasya's Function(DP)
题目地址:Ural 1353 定义dp[i][j].表示当前位数为i位时,各位数和为j的个数. 对于第i位数来说.总能够看成在前i-1位后面加上一个0~9.所以状态转移方程就非常easy出来了: dp ...
- MapReduce:具体解释Shuffle过程
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方.要想理解MapReduce, Shuffle是必需要了解的.我看过非常多相关的资料,但每次看完都云里雾里的绕着,非常难理清大致的逻 ...
- Codeforces Round #332 (Div. 2) B. Spongebob and Joke 模拟
B. Spongebob and Joke While Patrick was gone shopping, Spongebob decided to play a little trick ...