位置: 编程技术 - 正文

在Ubuntu系统上安装Kdump来处理系统崩溃(ubuntu安装指南)

编辑:rootadmin

推荐整理分享在Ubuntu系统上安装Kdump来处理系统崩溃(ubuntu安装指南),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ubuntu系统如何安装,ubuntu如何安装,ubuntu系统如何安装软件,ubuntu如何安装,ubuntu20.04怎么安装,ubuntu 安装zsh,ubuntu安装超详细教程,ubuntu安装超详细教程,内容如对您有帮助,希望把文章链接给更多的朋友!

什么是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有了用武之地。

在Ubuntu系统上安装Kdump来处理系统崩溃(ubuntu安装指南)

kdump是一种先进的基于kexec的内核崩溃转储机制。当系统崩溃时,kdump使用kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于kdump利用kexec启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。kdump需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像。捕获内核会在生产内核崩溃时启动起来,与相应的ramdisk一起组建一个微环境,用以对生产内核下的内存进行收集和转存。注意,在启动时,kdump保留了一定数量的重要的内存,为了计算系统需要的真正最小内存,加上kdump使用的内存数量,以决定真正的最小内存的需求。

kexec和kdump的设计区别:

Kexec的设计是用新内核去覆盖原内核位置;而KDUMP是预留一块内存来加载第二个内核(和相关数据),Crash后第二个内核在原位置运行(不然就达不到相关目的了),收集第一个内核的相关内存信息。

下面开始试验kdump特性:

操作系统:ubuntu .(3.5.0--generic)

安装kdump工具复制代码代码如下:apt-get install kexec-tools crash 发现安装过程中修改了grub,在引导内核配置上(/boot/grub/grub.cfg)多了如下参数复制代码代码如下:crashker nel=M-2G:M,2G-:M crashkernel用来指定保留内存的大小,我们可以知道crashkernel帮我们设定的保留区域的大小是:如果内存小于M,不保留内存;如果内存大于等于M但小于2G,保留M;如果内存大于2G,保留M。 修改kdump配置文件(/etc/default/kdump-tools)复制代码代码如下:USE_KDUMP=1下载dbgsym文件,改文件是用来吊事内核信息的文件复制代码代码如下:wagt ' dpkg -i linux-image-3.5.0--generic-dbgsym_3.5.0-._amd.ddeb 重启机器使配置生效。启动kdump-tools复制代码代码如下:/etc/init.d/kdump-tools startStarting kdump-tools: setup_linux_vesafb: xx @ d + * loaded kdump kernelkdump-tools配置(kdump-config show):复制代码代码如下:USE_KDUMP: 1KDUMP_SYSCTL: kernel.panic_on_oops=1KDUMP_COREDIR: /var/crashcrashkernel addr: 0x2ecurrent state: ready to kdump kernel link: /usr/lib/debug/boot/vmlinux-3.5.0--generic kexec command: /sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.5.0--generic root=UUID=e-a6db-4a1c--8c8c1de4aa ro irqpoll maxcpus=1 nousb" --initrd=/boot/initrd.img-3.5.0--generic /boot/vmlinuz-3.5.0--generic可以通过sysrq强制系统崩溃。 复制代码代码如下:echo ‘c’ > /proc/sysrq-trigger 这造成内核崩溃,如配置有效,系统将重启进入kdump内核,当系统进程进入到启动 kdump服务的点时,(dump.时间戳文件)将会拷贝到你在kdump配置文件中设置的位置。ubuntu的缺省目录是:/var/crash/时间戳文件夹。然后系统重启进入到正常的内核。一旦回复到正常的内核,就可以在上述的目录下发现dump文件,即内存转储文件。可以使用之前安装的crash工具来进行分析。

生成dump文件后/var/crash的目录结构:

├── │ ├── config_link -> /boot/config-3.5.0--generic│ ├── dump.│ ├── kernel_link -> /usr/lib/debug/boot/vmlinux-3.5.0--generic│ └── system.map_link -> /boot/System.map-3.5.0--generic├── config_link -> /boot/config-3.5.0--generic├── kernel_link -> /usr/lib/debug/boot/vmlinux-3.5.0--generic├── kexec_cmd└── system.map_link -> /boot/System.map-3.5.0--generic ump.就是生成的dump文件,后面的一串数字诶当时的时间戳。 接下来用crash进行分析复制代码代码如下:crash /usr/lib/debug/boot/vmlinux-3.5.0--generic dump.出现如下错误提示: crash: cannot resolve: "xtime",此时crash的版本为5.1.6,版本太低,调试不了3.5的内核,需要升级crash,可以手动安装crash。

ubuntu没有无线网该该怎么办? ubuntu开机后没有无线网的解决办法 安装完ubuntu,在网络里不显示无线网络,无法连接wifi。打开系统设置(右上角的齿轮里或者启动器里)-----------软件和更新如果没有更新过软件源,先

在Ubuntu下安装使用MegaCli来管理磁盘 MegaCli这个命令可以用来监控raid状态、磁盘状况等,最近上了一批ubuntu系统跑openstack,问题是MegaCli在官网上只有rpm格式的包,没有deb的包,但是还是有

Ubuntu上使用SSHfs把远程文件系统挂载到本地目录 windows之外的世界比想像中要大得多呢,几乎天天都在用ssh,却到今天才知道有sshfs这个好东西,前几天还在为ZendStudio可以远程编辑文件欣喜,惭愧啊,

标签: ubuntu安装指南

本文链接地址:https://www.jiuchutong.com/biancheng/352780.html 转载请保留说明!

上一篇:Ubuntu 14.04怎使用vsftpd搭建FTP服务?(怎么用ubuntu)

下一篇:ubuntu没有无线网该该怎么办? ubuntu开机后没有无线网的解决办法(ubuntu没有wlan0)

  • 个人生产经营所得税怎么计算
  • 申报增值税附加税减免项目选错了
  • 可供出售金融资产会计处理
  • 更正申报后可以作废吗
  • 合同负债属于负债吗
  • 不动产净值包括增值税吗
  • 公允价值变动损益和投资收益区别
  • 税务局代扣代缴税费
  • 一次性筷子的消费税
  • 以固定资产换入固定资产
  • 子公司之间可以相互交易吗
  • 收到认缴实收资本怎么做账务处理?
  • 水电费没有票怎么做账
  • 税务未抄报
  • 进项和销项不符的税务处理
  • 营改增后附加税费入应交税费还是营业税金及附加
  • 关于个人所得税下列说法正确的是
  • 资产减值损失列示在利润表哪里
  • 同一控制下企业合并入账价值
  • 员工离职违约金怎么算
  • 固定资产进项发票可以抵扣吗为什么
  • 无偿接收股权
  • 物业公司收的电梯费如何做账
  • 建筑公司如何结算成本
  • 债券借贷业务属于表外业务吗
  • 个人租房给公司开票税点
  • 成本核算的原则和要求
  • 存货盘亏进项税额转出会计分录怎么做
  • 只有土地使用权房子拆了怎么办
  • 发票跨年作废很麻烦吗
  • qcwlicon.exe - qcwlicon是什么进程 有何作用
  • 收到采购发票未开票
  • 在win7系统中安装win10
  • 社保挂靠会计处理?
  • 猫鼬家族风云
  • 期间费用为何要摊销
  • 无票收入什么时候确认收入
  • 营改增后如何纳税
  • 公司与公司的往来款清帐需要交税吗
  • opencv训练模型教程
  • nlp track
  • 增值税发票已认证抵扣还可以进项税额转出吗
  • pwd命令的用法
  • 国际货运代理公司有哪些?
  • 现代服务增值税纳税义务发生时间
  • 房子是固定资产的好处
  • DEDECMS php.ini register_globals must is Off!如何解决
  • 织梦cms要钱吗
  • 织梦如何使用
  • 个人所得税申报操作流程
  • 房地产预计毛利率企业所得税
  • 小规模纳税人免税额度是多少
  • MYSQL的数据类型共有几大类?
  • 加权平均发计算公式
  • 高新技术企业亏损弥补的年限为十年
  • 个体户怎么能享受生育险
  • 单位补扣社保算漏交吗
  • 年终奖都有啥
  • 税盘的服务费
  • 电商的成本构成包括
  • 调整以前年度利息支出
  • 可供出售债权投资
  • 什么是成品油发票
  • 现金收账凭证
  • 国际航班怎么报销
  • 哪些税费计入税金及附加科目
  • win7系统屏幕键盘怎么打开
  • win10怎么检查
  • centos 查看文件夹
  • smOutlookPack.exe - smOutlookPack是什么进程 什么文件
  • Win7 vpn连接不上怎么办?Win7系统vpn连接不上问题的解决方法
  • Win7/Win8.1/Win10命令行配置静态IP地址方法
  • win10打不开应用市场
  • 围绕摄像机旋转怎么设置
  • opengl怎么学
  • javascript面向对象编程
  • 安卓手机管家是什么
  • 举例说明jquery的功能
  • 安卓快速开发平台
  • 国税局和地税局有什么区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设