kdump内核转储
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,则保留128MB128M@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
安装内核相应包
首先使用命令
uname -r得到自己的内核版本然后访问网站下载两个包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.rpmkernel-debuginfo-common-x86_64-3.10.0-862.14.4.el7.x86_64.rpm
- 例如,内核版本
注意,如果你的内核没有更新,和镜像的版本一致,直接使用光盘镜像的包即可
开始安装
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内核转储的更多相关文章
- Ubuntu的内核转储工具【转】
转自:http://www.cnblogs.com/wwang/archive/2010/11/19/1881304.html 在我的上一篇博文<Linux内核的Oops>的最后介绍到一个 ...
- kdump内核
什么是kdump? kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump 使用 kexec 启动到第二个内核.第二个内核通常叫做捕获内核,以很小内存启动以捕获转储 ...
- 关于内核转储(core dump)的设置方法
原作者:http://blog.csdn.net/wj_j2ee/article/details/7161586 1. 内核转储作用 (1) 内核转储的最大好处是能够保存问题发生时的状态. (2) 只 ...
- Linux mint启用内核转储
1.查看当前是否启动了内核转储: star@sky:~$ ulimit -c unlimited 2.如果上面显示为0,即没有开启,那么,直接执行 ulimit -c unlimited 就好了. 3 ...
- 使用kdump内核调试工具遇到的问题及解决
修改linux内核代码或者内核模块的时候,搞不好就会造成linux死机崩溃,crash死机后/var/log/kern.log里面不会有任何异常信息记录.这时候kdump就会派上用场了,网上kdump ...
- 内核调试工具 — kdump & crash
kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具. 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行 ...
- Linux内核调试:kdump、vmcore、crash、kernel-debuginfo【转】
转自:https://blog.csdn.net/guowenyan001/article/details/19807555 一.简介 linux内核发送崩溃时,kdump会生成一个内核转储文件vmc ...
- 记一次Linux内核崩溃:kdump,crash,vmcore
原理 Linux内核发送崩溃时,kdump会生成一个内核转储文件vmcore. 可以通过分析vmcore分析出内核崩溃的原因. crash是一个被广泛应用的内核奔溃转储文件分析工具.使用crash调试 ...
- Linux内核调试方法总结【转】
转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核 ...
随机推荐
- Object.defineProperty之observe实现
对数据对象的属性批量劫持设置: <script type="text/javascript"> function observe(data){ if(!data || ...
- 团队-爬取豆瓣电影TOP250-代码设计规范
队长博客:http://www.cnblogs.com/gengwenhao/
- linux_文件夹实现挂载(必须在同一网段)
将外部想要挂载传输的目录开启共享文件夹 首先进行安装 yum install nfs-utils rpcbind yum install nfs* 建立想要挂载的目录 查看可以执行挂载的目录有哪些 s ...
- memmove、memcpy和memccpy简介
memmove.memcpy和memccpy三个函数都是内存的拷贝,从一个缓冲区拷贝到另一个缓冲区.memmove(void *dest,void*src,int count)memcpy(void ...
- RabbitMQ基本理论
本节内容 一 RabbitMQ介绍 二 RabbitMQ安装配置 三 RabbitMQ的Python实现-pika 1. 生产者消费者 2. 工作队列 3. 持久化和公平分发 4. 发布与订阅 ...
- 9.2 翻译系列:数据注解特性之---Column【EF 6 Code First系列】
原文链接:http://www.entityframeworktutorial.net/code-first/column-dataannotations-attribute-in-code-firs ...
- while循环 格式化输出 密码本 编码的初识
第二天课程整理 while 循环 why : while ' 循环' 的意思 what : while 无限循环 how : 1.基本结构 while + 条件 循环的代码 初识循环 while tr ...
- 如何运用kali-xplico网络取证分析?点开看看吧
0x00前言: 本工具仅供安全技术学习和教育用途,禁止非法使用! 前方高能 建议物理机选作,虚拟机快照,万一你那个东西做错了,我还得背锅0x01介绍: Xplico网络数据取证工具 ...
- 2.SlidingMenu(侧边栏效果)
> 使用步骤库:别的程序可以用它的方法.图片. 下载的其中一个框架的例子是没有actionBar的,example_update 引入出错可能是俩个v4包冲突了,删掉工程里的一个,不要删了库里的 ...
- PHP合并数组
1.arrary_merge 示例代码: $arr1 = array(1, 2, 3, 4, 5); $arr2 = array(1, 2, 6, 7, 8, 9, 10); $result1 = a ...