【Linux知识积累】 CentOS开启Kdump的方法

摘要:
Linux内核崩溃转存机制kdump概念:当系统崩溃时,kdump使用kexec启动到第二个内核,第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。t=http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/index.html#major3kdump正常运行的条件:1.系统中开启kdump服务2.启动文件配置中,合理分配了崩溃内存容量检查系统中kdump状态的方法:CentOS6:servicekdumpstatusCentOS7:systemctlstatuskdump.service开启系统中kdump的方法:1.Centos6.x操作说明:grub修改预留内存a.切换至root用户b.vi/etc/grub.confc.找到title条目后我们要使用的系统及内核项d.找到条目中kernel配置项下的“crashkernel=????”

Linux内核崩溃转存机制
kdump概念:
当系统崩溃时,kdump 使用 kexec 启动到第二个内核,第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。
继续学习:https://link.jianshu.com?t=http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/index.html#major3
kdump正常运行的条件:
1. 系统中开启kdump服务
2. 启动文件配置中,合理分配了崩溃内存容量
检查系统中kdump状态的方法:
CentOS6: service kdump status
CentOS7: systemctl status kdump.service
开启系统中kdump的方法:
1. Centos6.x操作说明:
(1) grub修改预留内存
a. 切换至root用户
b. vi /etc/grub.conf
c. 找到title 条目后我们要使用的系统及内核项
d. 找到条目中kernel配置项下的“crashkernel=????”字段(如果没有则手动添加)
e. 将=????修改为合适的大小
可选大小:
crashkernel=128M:
crashkernel=256M: 建议值
crashkernel=512M:
crashkernel=auto: 如果系统的内存 <= 8 GB 对kdump kernel不会保留任何内容(等同于关闭kdump),如果系统的内存> 8 GB但是<= 16 GB,crashkernel=auto会保留256M,等同于crashkernel=256M,如果系统内存> 16GB, crashkernel=auto会保留512M, 等同于crashkernel=512M.
f. 保存文件后退出
(2) 开启kdump服务
a. 设置开机启动: chkconfig kdump on
b. 启动kdump: service kdump start
c. 查看dkump状态: service kdump status
(3) 检查
a. 重新启动系统
b. 查看dkump状态: service kdump status
c. 检查grub: cat /proc/cmdline 内容与步骤1中修改的内容相同即为操作成功
(4) 测试
a. 查看log目录内容: ls /var/crash/
b. 触发系统崩溃: echo c > /proc/sysrq-trigger
此时系统崩溃,进行转储,转储后系统自动重启
c. 查看是否生成新的崩溃文件,同步骤a,有新文件生成则kdump运行正常
2. Centos7.x操作说明:
(1) grub修改预留内存
a. 切换至root用户
b. vi /etc/default/grub
c. 找到GRUB_CMDLINE_LINUX项
d. 将配置项中的“crashkernel=????”字段(如果没有则手动添加)
e. 将=????修改为合适的大小
可选大小:
crashkernel=128M:
crashkernel=256M: 建议值
crashkernel=512M:
crashkernel=auto: 如果系统的内存 <= 8 GB 对kdump kernel不会保留任何内容(等同于关闭kdump),如果系统的内存> 8 GB但是<= 16 GB,crashkernel=auto会保留256M,等同于crashkernel=256M,如果系统内存> 16GB, crashkernel=auto会保留512M, 等同于crashkernel=512M.
f. 保存文件后退出
g. 执行命令: grub2-mkconfig -o /boot/grub2/grub.cfg
h. 再执行命令: grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
(g和h为冗余项,分别对应不同的系统安装方式,这里为了简化操作,所以全部执行)
(2) 开启kdump服务
a. 启动kdump: systemctl start kdump.service
b. 设置开机启动: systemctl enable kdump.service
c. 查看dkump状态: systemctl status kdump.service
(3) 检查
a. 重新启动系统
b. 查看dkump状态: systemctl status kdump.service
c. 检查grub: cat /proc/cmdline 内容与步骤1中修改的内容相同即为操作成功
(4) 测试
a. 查看log目录内容: ls /var/crash/
b. 触发系统崩溃: echo c > /proc/sysrq-trigger
此时系统崩溃,进行转储,转储后系统自动重启
c. 查看是否生成新的崩溃文件,同步骤a,有新文件生成则kdump运行正常
修改kdump默认配置:
vim /etc/kdump.conf
coredump文件目录 path /var/crash
加上-c表示压缩,原文件中没有 core_collector makedumpfile -c -l -message-level 1 -d 31
生成coredump后,重启系统 default reboot
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger

免责声明:文章转载自《【Linux知识积累】 CentOS开启Kdump的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker客户端安装双口RAM,值得研究下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ubuntu linux环境下安装配置jdk和tomcat

关于linux搭建服务器,ubuntu中jdk和tomcat的安装和配置 一.jdk的安装配置 1:去官网下载好自己需要的版本,注意,linux压缩文件通常以tar.gz结尾,别下载错了。本次我下载安装的版本为jdk7u25.             2:复制jdk到ubuntu下,我本次复制路径为/home/Documents/jdk-7u25-linu...

CentOS下ssh的配置

一、一些废话。 在高三的时候曾经接触过Linux,被其帅气的终端所打动,从此走上了和Linux斗争的道路,其中有辛酸,但更多的是快乐。刚开始之所以接触Linux其实是因为BackTrack,然后学习了一些Linux下面的基本操作。最近这段时间想系统的学一下Linux安全方面的东西,准备把自己在这段时间当中的所学所想记录下来,为折腾Linux的同学提供一些借...

Linux 使用 wget 下载 Oracle 软件说明

假设我们只能用Linux的命令模式,此时我们下载Oracle软件只能使用wget,但是Oracle 在权限这块管理越来越高,下载时需要验证帐号,具体使用wget的方式如下: wget -c --http-user=username --http-password=pwd  --output-document=patchname.zip  "Download...

saltstack--史上最细致安装攻略!亲测无坑

准备一台虚拟机node1: [root@linux-node1 pillar]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.88.137 netmask 255.255.255.0 broadcast 1...

阿里云(linux Centos7)安装mysql

一、linux centos7 安装MySQL 1、下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2、安装mysql源,若结尾出现complete!,则说明MySQL源安装完成 yum localinstall mysql57-com...

Fuseki在linux下的部署及运行方法

在linux环境下部署并启动fuseki服务器的方法: 1.从官网上下载https://repository.apache.org/content/repositories/releases/org/apache/jena/jena-fuseki/ fuseki的工具包(名字中含有.tar的包); 2.解压缩这个包,并将其放在linux系统下,例如路径设为...