红联Linux门户
Linux帮助

Centos6.8中kdump的设置问题

发布时间:2017-04-17 11:18:08来源:linux网站作者:-AnXiaoLu-
在装centos的测试机的时候,出现了一个在使用Ubuntu时没有碰到过的东西,就是kdump,如下图:
Centos6.8中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。
将crashkernel=auto 改为crashkernel=128M 后保存,重启之后,kdump服务启动成功。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30078.html