首页 > 代码库 > kdump启动失败

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 的设置。“crashkernel=X@Y”,X 应该多大? Y

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

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

的系统,则要设为 256M。

 

解决方法

# vim /etc/grub.conf

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

技术分享

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

技术分享 


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

kdump启动失败