CentOS 7.5 配置Kdump

安装Kdump

~]# yum install kexec-tools

安装Kdump图形化

~]# yum install system-config-kdump

配置保留内存

~]# vim /etc/default/grub	# 修改crashkernel=auto
GRUB_CMDLINE_LINUX="crashkernel=128M rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
~]# grub2-mkconfig -o /boot/grub2/grub.cfg
~]# reboot
  • auto - 根据系统中的总内存量自动配置保留内存(配置之后未知错误,暂不配!!!)
  • 128M - 保留128 MB内存
  • 512M-2G:64M,2G-:128M - 如果系统内存总量为512MB或者更高且低于2GB,则保留64MB内存,如果内存总量超过2GB,则保留128MB
  • 128M@16M - 保留从16MB(物理内存0x01000000)开始的128MB内存。如果offset参数设置为0或完全省略,则会自动偏移保留的内存,如上所述,当设置可变存储器保留时,也可以使用该语法,在这种情况下,始终指定偏移量(例如512M-2G:64M,2G-:128M@16M

配置kdump类型

修改配置文件/etc/kdump.conf

核心转储到本地

path /usr/local/cores

核心转储到设备

raw /dev/sdb1

使用NFS指定核心转储

nfs pengunin.example.com:/export/cores

使用SSH指定核心转储

ssh user@address
sshkey /root/.ssh/id_rsa

配置核心收集器

core_collector makedumpfile -l --message-level 1 -d 31

配置默认操作

default reboot

启动服务

systemctl enable kdump.service
systemctl start kdump.service

测试Kdump配置

~]# systemctl is-active kdump	# 确认服务正在运行
active
~]# echo > /proc/sys/kernel/sysrq;echo c > /proc/sysrq-trigger

分析核心转储

安装崩溃分析工具

yum install crash

安装内核相应包

  1. 首先使用命令uname -r得到自己的内核版本

  2. 然后访问网站下载两个包http://debuginfo.centos.org/7/x86_64/

    • 例如,内核版本3.10.0-862.14.4.el7.x86_64就下载如下两个包
    • kernel-debuginfo-3.10.0-862.14.4.el7.x86_64.rpm
    • kernel-debuginfo-common-x86_64-3.10.0-862.14.4.el7.x86_64.rpm
  3. 注意,如果你的内核没有更新,和镜像的版本一致,直接使用光盘镜像的包即可

  4. 开始安装

    yum localinstall kernel-debuginfo-*

运行崩溃实用程序

crash /usr/lib/debug/lib/modules/3.10.0-862.14.4.el7.x86_64/vmlinux /var/crash/127.0.0.1-2018-11-15-23\:46\:16/vmcore

查看信息

显示消息缓冲区

crash> log
# help log 有更多的信息

显示内核堆栈跟踪

crash> bt
# help bt 有更多的信息

显示进程状态

crash> ps
# help ps 有更多的信息

显示虚拟内存

crash> vm
# help crash 有更多的信息

显示打开的文件

crash> files
# help files 有更多的信息

退出实用程序

quit

kdump内核转储的更多相关文章

  1. Ubuntu的内核转储工具【转】

    转自:http://www.cnblogs.com/wwang/archive/2010/11/19/1881304.html 在我的上一篇博文<Linux内核的Oops>的最后介绍到一个 ...

  2. kdump内核

    什么是kdump?   kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump 使用 kexec 启动到第二个内核.第二个内核通常叫做捕获内核,以很小内存启动以捕获转储 ...

  3. 关于内核转储(core dump)的设置方法

    原作者:http://blog.csdn.net/wj_j2ee/article/details/7161586 1. 内核转储作用 (1) 内核转储的最大好处是能够保存问题发生时的状态. (2) 只 ...

  4. Linux mint启用内核转储

    1.查看当前是否启动了内核转储: star@sky:~$ ulimit -c unlimited 2.如果上面显示为0,即没有开启,那么,直接执行 ulimit -c unlimited 就好了. 3 ...

  5. 使用kdump内核调试工具遇到的问题及解决

    修改linux内核代码或者内核模块的时候,搞不好就会造成linux死机崩溃,crash死机后/var/log/kern.log里面不会有任何异常信息记录.这时候kdump就会派上用场了,网上kdump ...

  6. 内核调试工具 — kdump & crash

    kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具. 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行 ...

  7. Linux内核调试:kdump、vmcore、crash、kernel-debuginfo【转】

    转自:https://blog.csdn.net/guowenyan001/article/details/19807555 一.简介 linux内核发送崩溃时,kdump会生成一个内核转储文件vmc ...

  8. 记一次Linux内核崩溃:kdump,crash,vmcore

    原理 Linux内核发送崩溃时,kdump会生成一个内核转储文件vmcore. 可以通过分析vmcore分析出内核崩溃的原因. crash是一个被广泛应用的内核奔溃转储文件分析工具.使用crash调试 ...

  9. Linux内核调试方法总结【转】

    转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核 ...

随机推荐

  1. Python中操作Redis

    一 Rdis基本介绍 redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set -- ...

  2. 状态机学习(六)解析JSON2

    来自 从零开始的 JSON 库教程 从零开始教授如何写一个符合标准的 C 语言 JSON 库 作者 Milo Yip https://zhuanlan.zhihu.com/json-tutorial ...

  3. KD-树(下)

    来自于https://zhuanlan.zhihu.com/p/23966698 构造 kd 树的例子 上面抽象的定义和算法确实是很不好理解,举一个例子会清楚很多.首先随机在 中随机生成 13 个点作 ...

  4. C# 创建Dll文件供程序调用方法

    C# 创建Dll文件供程序调用方法 使用C#创建动态Dll文件方法: 1.  在VS2017环境下,新建-项目-选择类库类型: 2. 新创建一个.cs文件(如test.cs),编写代码如下: usin ...

  5. java jar 包加载文件问题

    场景:   A 项目是一个服务,然后部署到本地 maven 仓库里,然后 B 项目依赖 A 项目,调用  A 项目的方法,但是发现,报错,说找不到文件(config.xsv).这就很奇怪了,怎么会呢, ...

  6. Python序列结构--列表(一)

    列表 列表**包含若干元素的有序连续内存空间**,当列表增加或删除元素时,**列表对象自动进行内存的扩展或收缩**,从而**保证相邻元素之间没有缝隙**.但插入和删除非尾部元素时涉及列表元素大量的移动 ...

  7. RxSwift学习笔记8:filter/distinctUntilChanged/single/elementAt/ignoreElements/take/takeLast/skip/sample/debounce

    //filter:该操作符就是用来过滤掉某些不符合要求的事件. Observable.of(1,2,3,4,5,8).filter({ $0 % 2 == 0 }).subscribe { (even ...

  8. PowerBuilder常用字符串函数

    http://blog.sina.com.cn/s/blog_5995b53d0100a694.html Fill()功能建立一个由指定字符串填充的指定长度的字符串.语法Fill ( chars, n ...

  9. 1.开始学习ASP.NET MVC

    Hello,大家好! 好久没有开始记录博客了,是时候开始分享一下了,这个系列主要为零基础的同学,量身打造的.废话不多说,我们开干! 什么是ASP.NET MVC MVC(Model-View-Cont ...

  10. WPF 开机注册自启动及设置确保以管理员运行

    最近用到开机自启动设置,在此记录下设置自启动的步骤,如果对各位有需要可以借阅,之前设置管理权限解释在创建解决方案是将VS以管理员方式打开,这种方法可以实现,但是个人还是偏向与本文的方式,不多说啥了,下 ...