kdump启动失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kdump启动失败相关的知识,希望对你有一定的参考价值。

现象:

在VMware中安装图形界面,重启系统发现kdump服务启动失败


原因:

先来说一下,什么是kdump

kdump 是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动

到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保

留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 Bios,所

以第一个内核的内存得以保留。这是内核崩溃转储的本质。

技术分享

启动失败的原因

查看 /etc/grub.conf文件

发现crashkernel=auto

系统对crashkernel=auto的定义为: 

如果系统的内存 <= 8 GB 对kdump kernel不会保留任何内容;也就是说,crashkernel=auto 等

于关掉了机器上的kdump功能;

如果系统的内存> 8 GB 但是<= 16 GB,crashkernel=auto会保留256M,等同于crashkernel=256M;

如果系统内存> 16GB, crashkernel=auto会保留512M, 等同于crashkernel=512M

 

安装虚拟机时,给虚拟机设置的内存为1G,所以说系统关掉了kdump。

 

找到了原因,重新给crashkernel设置参数即可:

 

在 kdump 的配置中,往往困惑于 crashkernel 的设置。“[email protected]”,X 应该多大? Y

又应该设在哪里呢?实际我们 可以完全省略“@Y”这一部分,这样,kernel 会为我们自动选择

一个起始地址。而对于 X 的大小,般对 i386/x86_64 的系统, 设为 128M 即可;对于 powerpc

的系统,则要设为 256M。

 

解决方法

# vim /etc/grub.conf

将crashkernel=auto 改为crashkernel=128M 后保存,

技术分享

重新启动系统,kdump服务启动成功。

技术分享 


本文出自 “Liew” 博客,转载请与作者联系!

以上是关于kdump启动失败的主要内容,如果未能解决你的问题,请参考以下文章

sles12 中的 grub 文件更新失败

我在vm中装的centos6.0,升级重装了openssl和sasl后重启,不能进入系统,启动时有三个服务失败,见图。

CentOS 6.8 Kdump 配置

详解Linux内核态调试工具kdump

详解Linux内核态调试工具kdump

linux kdump原理以及配置