CentOS7配置kdump

简单生活,简单爱 2020-10-27 16:29:56  56  收藏 1
分类专栏: Linux实际开发总结

1.kdump简介

  • kexec是一个快速启动机制,允许通过已经运行的内核的上下文启动一个Linux内核,不需要经过BIOS。BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器。这种办法可以为经常启动机器的开发者节省很多时间。

  • kdump是一个新的,而且非常可信赖的内核崩溃转储机制。崩溃转储数据可以从一个新启动的内核的上下文中获取,而不是从已经崩溃的内核的上下文。当系统崩溃时,kdump使用kexec启动到第二个内核。第二个内核通常叫做捕获内核(capture kernel),以很小内存启动,并且捕获转储镜像。

  • 第一个内核保留了内存的一部分,第二个内核可以用来启动。注意,在启动时,kdump保留了一定数量的重要的内存,这改变了红帽企业Linux 5最小内存需求。为了计算系统需要的真正最小内存,可以参看 http://www.RedHat.com/rhel/details/limits/ 上列出的最小内存需求,加上kdump使用的内存数量,以决定真正的最小内存的需求。

  • 因为第一个内核的内存内容已经被保留,所以kexec可以不经过BIOS,启动捕获内核。这是内核崩溃转储的根本。

2.配置kdump

  • (1)安装kexec-tools:使用kdump服务,必须要用到kexec-tools工具包。
  1. sudo yum update
  2. sudo yum install kexec-tools
  3.   安装完成之后可以通过kexec -version查看kexec的版本。
  • 1
  • 2
  • 3
  • 4
  • (2)配置kdump kernel,也可以不配置
  1. 1.修改grub文件
  2. vim /etc/default/grub
  3. 需要将GRUB_CMDLINE_LINUX="crashkernel=auto..."中的auto修改为128M。一般设为128M256M
  4. 2.更新grub配置
  5. 只要更改了grub文件,都需要更改grub配置。
  6.  sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. 3.重启系统
  8. reboot
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • (3)修改kdump默认配置,也可以不配置
  1. vim /etc/kdump.conf
  2. 其中,需要注意的三行内容是
  3. path /var/crash #指定coredump文件放在/var/crash文件夹中
  4. core_collector makedumpfile -c -l -message-level 1 -d 31 #加上-c表示压缩,原文件中没有
  5. default reboot #生成coredump后,重启系统
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • (4)开启kdump服务
  1. systemctl start kdump.service //启动kdump
  2. systemctl enable kdump.service //设置开机启动
  3. 检查kdump开启成功
  4. service kdump status
  • 1
  • 2
  • 3
  • 4
  • 5

如下所示,表示开启成功

  • (5)手动触发crash
  1. #echo 1 > /proc/sys/kernel/sysrq
  2. #echo c > /proc/sysrq-trigger
  • 1
  • 2

如果配置成功,系统将自动重启,重新进入系统,可以看到/var/crash文件夹下生成了相应文件,是一个以生成coredump日期为文件名的文件,如图所示:

打开dmesg文件可以看到内核转储内容于你触发crash的内容是对的上的

  1. [1212551.621023] __handle_sysrq.cold.9+0x45/0xec
  2. [1212551.621491] write_sysrq_trigger+0x2b/0x30
  3. [1212551.621959] proc_reg_write+0x3c/0x60
  4. [1212551.622426] vfs_write+0xa5/0x1a0
  5. [1212551.622889] ksys_write+0x4f/0xb0
  6. [1212551.623369] do_syscall_64+0x5b/0x1b0
  7. [1212551.623835] entry_SYSCALL_64_after_hwframe+0x65/0xca
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

CentOS7配置kdump的更多相关文章

  1. Centos7 配置网络步奏详解

    Centos7 配置网络步奏详解 编辑网卡配置文件 vi /etc/sysconfig/network-script/ifcfg-ens01 备注:这里的ens01不是所有系统都叫这个,有的可能叫其他 ...

  2. centos7配置开启无线网卡,重启防火墙

    centos7配置无线网卡: 在虚拟机为nat的网络连接下(就是默认的那个),centos7默认网卡未激活. 可以设置 文件 /etc/sysconfig/network-scripts/ifcfg- ...

  3. Centos7配置JAVA_HOME

    Centos7配置JAVA_HOME http://blog.csdn.net/zzpzheng/article/details/73613838 在Centos7上,通过yum install ja ...

  4. Centos7配置NFS

    centos7配置nfs yum -y install nfs-utils rpcbind 设置服务开机启动: systemctl enable rpcbind systemctl enable nf ...

  5. Centos7 配置ssh连接

    Centos7 配置ssh连接 1.检查是否安装openssh-server:#yum list installed | grep openssh-server 安装openssh-server:#y ...

  6. CentOS7 配置静态 ip

    1. 为 CentOS7 配置静态 ip 1.1 修改文件/etc/sysconfig/network-scripts/ifcfg-ens33 sudo vi /etc/sysconfig/netwo ...

  7. virtualbox 最小化安装centos7 配置双网卡(nat和桥接)记录----已经过期

    该文章已经过期   请参考另一篇文章:virtualbox 安装centos7 配置桥接网卡,实现主机和虚拟机互通,虚拟机可以访问外网,解决无法上网问题   先说明一下为什么要配置双网卡? 配置nat ...

  8. Centos7配置samba

    Centos7配置samba 1.安装 yum install samba samba-client samba-common -y 2.配置 备份已有配置mv /etc/samba/smb.conf ...

  9. CentOS7配置中文

    CentOS7配置中文 yum install kde-l10n-Chinese -y vim /etc/locale.conf修改为zh_CN.UTF-8 vim /etc/environment添 ...

随机推荐

  1. 201873030133-杨子豪 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客链接 这个作业要求链接 作业要求链接 我的课程学习目标 了解软件工程的作用与意义,将软件工程与过去所学相结合 这个作业在哪些方面帮助我实现学习目标 体验了结对式的 ...

  2. oo第四单元——UML图解析

    本单元是在理解UML图的基础上实现对图的解析和检查.UML图是新接触的一种建模工具,一开始接触UML的时候觉得理解起来比较困难,并不能单纯从代码的角度按照类.方法这样来理解,这只是从类图的角度,还有从 ...

  3. 14. VUE 子组件修改父组件的值

    在 Vue 当中,父组件 -> 子组件 传值,都是通过属性的形式传递的. 子组件 修改 传递数据 直接操作父组件传递过来的值,用是可以用的,但是打开控制台后,会发现 Vue 有个警告:你不要直接 ...

  4. GoTTY-K8S-Docker 终端

    安装GoTTY 下载yum源 curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo. ...

  5. Spring @Value注入static属性

    import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Com ...

  6. js时间对象Date()

    Date ()是一个专门用来创建时间对象的,是一个复杂数据类型,具有读写属性 语法: var time = new Date() 返回值:当前终端的时间 // 1.创建当前时间对象 var time ...

  7. C - Harmonic Number(调和级数+欧拉常数)

    In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers ...

  8. flex 的 三个参数 flex:1 0 auto

    flex :flex-group  flex-shirk  flex-basis ①.flex-group 剩余空间索取 默认值为0,不索取 eg:父元素400,子元素A为100px,B为200px. ...

  9. POJ2406 KMP前缀周期

    题意:       给你一个字符串,长度小于1百万,问你他最多可以拆成集合相同字符串,例如abcabcabc 可以拆成3个abc,所以输出3. 思路:       这个是比较常规的next应用,首先假 ...

  10. 洛谷P1423 小玉在游泳

    题目描述 小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦.已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%.现在小玉想知道,如果 ...