在Ubuntu系统上安装Kdump来处理系统崩溃
什么是Kdump?
Kdump 是一种的新的crash dump捕获机制,用来捕获kernel crash时候产生的crash dump。Kdump需要配置两个不同目的的kernel,其中一个我们在这里称作standard(production) kernel;另外一个称之为Crash(capture)kernel。
standard(production)kernel,是指我正在使用的kernel,当standard kernel在使用的过程中出现crash的时候, kdump会切换到crash kernel, 简单来说,standard kernel会正运行时发生crash,而crash(capture) Kernel 会被用来捕获production kernel crash时候产生的crash dump。
捕获crash dump是在新的crash(capture) kernel 的上下文中来捕获的,而不是在standard kernel上下文进行。
具体是当standard kernel方式crash的时候,kdump通过kexec(后面介绍)自动启动进入到crash kernel当中。如果启动了kdump服务,standard kernel会预留一部分内存, 这部分内存用来启动crash kernel。
kdump机制主要包括两个组件:kdump和kexec
kexec是一个快速启动机制,允许通过已经运行的内核的上下文启动一个Linux内核,不需要经过BIOS。BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器。这种办法可以为经常启动机器的开发者节省很多时间。Kexec是实现kdump机制的关键,它包括2个组成部分:一是内核空间的系统调用kexec_load,负责在生产内核(production kernel 或 first kernel)启动时将捕获内核(capture kernel或sencond kernel)加载到指定地址。二是用户空间的工具kexec-tools,他将捕获内核的地址传递给生产内核,从而在系统崩溃的时候能够找到捕获内核的地址并运行。没有kexec就没有kdump。先有kexec实现了在一个内核中可以启动另一个内核,才让kdump有了用武之地。
kdump是一种先进的基于kexec的内核崩溃转储机制。当系统崩溃时,kdump使用kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于kdump利用kexec启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。kdump需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像。捕获内核会在生产内核崩溃时启动起来,与相应的ramdisk一起组建一个微环境,用以对生产内核下的内存进行收集和转存。注意,在启动时,kdump保留了一定数量的重要的内存,为了计算系统需要的真正最小内存,加上kdump使用的内存数量,以决定真正的最小内存的需求。
kexec和kdump的设计区别:
Kexec的设计是用新内核去覆盖原内核位置;而KDUMP是预留一块内存来加载第二个内核(和相关数据),Crash后第二个内核在原位置运行(不然就达不到相关目的了),收集第一个内核的相关内存信息。
下面开始试验kdump特性:
操作系统:ubuntu 12.10(3.5.0-17-generic)
安装kdump工具
复制代码代码如下:
apt-get install kexec-tools crash
发现安装过程中修改了grub,在引导内核配置上(/boot/grub/grub.cfg)多了如下参数
复制代码代码如下:
crashkernel=384M-2G:64M,2G-:128M
crashkernel用来指定保留内存的大小,我们可以知道crashkernel帮我们设定的保留区域的大小是:如果内存小于384M,不保留内存;如果内存大于等于384M但小于2G,保留64M;如果内存大于2G,保留128M。
修改kdump配置文件(/etc/default/kdump-tools)
复制代码代码如下:
USE_KDUMP=1
下载dbgsym文件,改文件是用来吊事内核信息的文件
复制代码代码如下:
wagt 'http://ddebs.ubuntu.com/pool/main/l/linux/linux-image-3.5.0-17-generic-dbgsym_3.5.0-17.28_amd64.ddeb'
dpkg -i linux-image-3.5.0-17-generic-dbgsym_3.5.0-17.28_amd64.ddeb
重启机器使配置生效。
启动kdump-tools
复制代码代码如下:
/etc/init.d/kdump-tools start
Starting kdump-tools: setup_linux_vesafb: 1280x1024x32 @ d9800000 +500000
* loaded kdump kernel
kdump-tools配置(kdump-config show):
复制代码代码如下:
USE_KDUMP:1
KDUMP_SYSCTL: kernel.panic_on_oops=1
KDUMP_COREDIR:/var/crash
crashkernel addr: 0x2e000000
current state:ready to kdump
kernel link:
/usr/lib/debug/boot/vmlinux-3.5.0-17-generic
kexec command:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.5.0-17-generic root=UUID=9386113e-a6db-4a1c-9565-8c8c1de4a55a ro irqpoll maxcpus=1 nousb" --initrd=/boot/initrd.img-3.5.0-17-generic /boot/vmlinuz-3.5.0-17-generic
可以通过sysrq强制系统崩溃。
复制代码代码如下:
echo ‘c’/proc/sysrq-trigger
这造成内核崩溃,如配置有效,系统将重启进入kdump内核,当系统进程进入到启动 kdump服务的点时,(dump.时间戳文件)将会拷贝到你在kdump配置文件中设置的位置。ubuntu的缺省目录是:/var/crash/时间戳文件夹。然后系统重启进入到正常的内核。一旦回复到正常的内核,就可以在上述的目录下发现dump文件,即内存转储文件。可以使用之前安装的crash工具来进行分析。
>
生成dump文件后/var/crash的目录结构:
├── 201305061817
│ ├── config_link ->/boot/config-3.5.0-17-generic
│ ├── dump.201305061817
│ ├── kernel_link ->/usr/lib/debug/boot/vmlinux-3.5.0-17-generic
│ └── system.map_link ->/boot/System.map-3.5.0-17-generic
├── config_link ->/boot/config-3.5.0-17-generic
├── kernel_link ->/usr/lib/debug/boot/vmlinux-3.5.0-17-generic
├── kexec_cmd
└── system.map_link ->/boot/System.map-3.5.0-17-generic
ump.201305061817就是生成的dump文件,后面的一串数字诶当时的时间戳。
接下来用crash进行分析
复制代码代码如下:
crash /usr/lib/debug/boot/vmlinux-3.5.0-17-generic dump.201305061817
出现如下错误提示: crash: cannot resolve: "xtime",此时crash的版本为5.1.6,版本太低,调试不了3.5的内核,需要升级crash,可以手动安装crash。
推荐系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows 10 32位企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(64位) 提供下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows10 64专业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的专业版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动
雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新雨林木风 Windows10 x64 企业装机版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2022年7月(64位) 高速下载
语言:中文版系统大小:3.98GB系统类型:Win10深度技术 Windows 10 x64 企业TLSB 电脑城装机版2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
电脑公司 装机专用系统Windows10 x64 企业版2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10电脑公司 装机专用系统 Windows10 x64 企业TLSB版2022年7月一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
新雨林木风 Windows10 x86 企业装机版2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.15GB系统类型:Win10新雨林木风 Windows10 x86 专业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的专业版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活系统,无
相关文章
- Win8.1启动安全中心服务失败 提示错误1068怎么办?
- win8桌面图标十分模糊如何才能有一个清晰的桌面图标
- VMware虚拟机中Ubuntu系统设置固定IP的教程
- Win8应用商店付费应用支付账户图文设置流程
- Win10/Win8.1/WP8.1商店应用启用年龄分级系统
- Win8复制网页是如何屏蔽IE剪贴板提示框
- win8系统文件无法删除提示需要管理员权限 如何获取管理员权限
- Win8桌面图标不见了怎么办 分享Win8桌面图标不见了的解决办法
- win8系统中ie10浏览器fash无法打开解决方法
- 怎么使用Win8快速入门指导
- Win8系统自带搜索功能如何关闭以便使用第三方服务
- Windows系统环境变量大全 举例说明(XP/Win7/Win8)
- freebsd 分区的相关知识总结
- 开启Win8系统控制面板的多种方法
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 3深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 4电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1番茄花园GhostWin7 SP1电脑城新春特别 极速装机版2022年2月(32位) 最新高速下载
- 2电脑公司Ghost Win7 x64 Sp1装机万能版2020年4月(64位) ISO镜像免费下载
- 3雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
- 4新萝卜家园Ghost Win8.1 (32位) 装机纯净版2018年04(免激活) ISO镜像免费下载
- 5番茄花园Ghost Win7 x64 SP1稳定装机版2022年2月(64位) 高速下载
- 6番茄花园Ghost Win8.1 (X32) 纯净版2019年12月(免激活) ISO镜像免费下载
- 7深度技术Ghost Win8.1 x32位 特别纯净版2021年11月(免激活) ISO镜像高速下载
- 8笔记本系统Ghost Win8.1 (32位) 极速纯净版2020年12月(免激活) ISO镜像高速下载
- 9新雨林木风 Windows10 x86 企业装机版2019年6月(32位) ISO镜像高速下载
- 10笔记本系统Ghost Win8.1 (32位) 极速纯净版2020年7月(免激活) ISO镜像高速下载