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工具包。
sudo yum update
sudo yum install kexec-tools   安装完成之后可以通过kexec -version查看kexec的版本。
  • 1
  • 2
  • 3
  • 4
  • (2)配置kdump kernel,也可以不配置
1.修改grub文件
vim /etc/default/grub
需要将GRUB_CMDLINE_LINUX="crashkernel=auto..."中的auto修改为128M。一般设为128M或256M。 2.更新grub配置
 只要更改了grub文件,都需要更改grub配置。
 sudo grub2-mkconfig -o /boot/grub2/grub.cfg  3.重启系统
reboot
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • (3)修改kdump默认配置,也可以不配置
vim /etc/kdump.conf

其中,需要注意的三行内容是
path /var/crash #指定coredump文件放在/var/crash文件夹中
core_collector makedumpfile -c -l -message-level 1 -d 31 #加上-c表示压缩,原文件中没有
default reboot #生成coredump后,重启系统
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • (4)开启kdump服务
systemctl start kdump.service     //启动kdump
systemctl enable kdump.service //设置开机启动 检查kdump开启成功
service kdump status
  • 1
  • 2
  • 3
  • 4
  • 5

如下所示,表示开启成功

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

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

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

[1212551.621023]  __handle_sysrq.cold.9+0x45/0xec
[1212551.621491] write_sysrq_trigger+0x2b/0x30
[1212551.621959] proc_reg_write+0x3c/0x60
[1212551.622426] vfs_write+0xa5/0x1a0
[1212551.622889] ksys_write+0x4f/0xb0
[1212551.623369] do_syscall_64+0x5b/0x1b0
[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. Makefile基本用法

    来源 https://www.gnu.org/software/make/manual/make.pdf 简单的例子 其中的cc通过链接,间接指向/usr/bin/gcc. Makefile文件中列出 ...

  2. lustre文件系统环境搭建及测试

    目录 1.节点角色 2.硬件配置 3.软件版本 4.安装软件包 4.1.安装 e2fsprogs 相关包 4.2.安装 kernel 相关包 4.3.客户端安装 4.4.服务器端安装 4.5.配置 5 ...

  3. “改造” VS Code 编辑器,一起写个插件吧!

    作者:HelloGitHub-小夏(首发于 HelloGitHub 公众号) 作为一个靠代码作为"生计"的开发者,bug 写的好不好,编辑器真的很重要!那么 Visual Stud ...

  4. WebStorm 2020.1.2 激活

    1 下载 没下载的先去官网下载. 2 安装 系统Linux,解压后直接运行bin下的webstorm.sh. 首先提示是否导入设置,如果以前安装过的话会默认选择第一项. 选UI主题: 是否创建Desk ...

  5. 指方画圆之Java设计模式:适配器模式

    目录 应用场景 适配器模式 定义 意图 主要解决问题 何时使用 优缺点 指鹿为马VS指方为圆 指鹿为马 指方为圆 应用场景 使用者依赖的接口与提供者的接口不匹配时,就加一层适配,而不修改两端的代码 生 ...

  6. Periodic Strings UVA - 455

    ​ A character string is said to have period k if it can be formed by concatenating one or more repet ...

  7. JVM JIT动态编译

    一.概述 1.1 基本概念 a. 动态编译(dynamic compilation)指的是"在运行时进行编译":与之相对的是事前编译(ahead-of-time compilati ...

  8. spring boot 集成logstash 日志

    1.logstash 插件配置 logstash下config文件夹下添加 test.conf 文件内容: input{ tcp { mode => "server" hos ...

  9. php图片合成【png图片】

    php 图片合成[png图片] 示例代码 <?php header("Content-type:text/html;charset=utf-8"); error_report ...

  10. POJ1904 强联通(最大匹配可能性)

    题意:       有n个王子,n个公主,然后给你每个王子喜欢的公主,最后问你在不影响最大匹配的前提下,每个王子可以匹配那些公主. 思路:       是hdu4685的减弱版,之前研究过hdu468 ...