kdump 的使用在linux崩溃时
Centos7/RHEL7 开启kdump
原文链接《How to enable Kdump on RHEL 7 and CentOS 7》
本文介绍如何在Centos7/RHEL7 开启kdump。
步骤1 安装kexec-tools
- [vagrant@localhost ~]$ yum install kexec-tools
步骤2 设置crashkernel预留内存大小
- [vagrant@localhost ~]$ cat /etc/default/grub
- GRUB_TIMEOUT=5
- GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
- GRUB_DEFAULT=saved
- GRUB_DISABLE_SUBMENU=true
- GRUB_TERMINAL_OUTPUT="console"
- GRUB_CMDLINE_LINUX="<span margin: 0px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); font-weight: 400; box-sizing: border-box; background-color: inherit;">color:#ff0000;">crashkernel=256M</span> rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
- GRUB_DISABLE_RECOVERY="true"
- [vagrant@localhost ~]$ grub2-mkconfig -o /boot/grub2/grub.cfg
- [vagrant@localhost ~]$ reboot
- [vagrant@localhost ~]$ vi /etc/kdump.conf
- #指定coredump文件存储位置
- path /var/crash
- #增加-c参数,代表压缩coredump文件
- core_collector makedumpfile -c -l --message-level 1 -d 31
- #生成coredump后,重启系统,
- default reboot
- [vagrant@localhost ~]$ systemctl start kdump.service //启动kdump
- [vagrant@localhost ~]$ systemctl enable kdump.service //设置开机启动
- [vagrant@localhost ~]$ service kdump status
- Redirecting to /bin/systemctl status kdump.service
- ● kdump.service - Crash recovery kernel arming
- Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
- Active: active (exited) since Mon 2017-12-18 09:12:56 UTC; 43min ago
- Process: 913 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCESS)
- Main PID: 913 (code=exited, status=0/SUCCESS)
- CGroup: /system.slice/kdump.service
- [vagrant@localhost ~]$ systemctl is-active kdump.service
- active
- [root@cloud ~]# echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger
- [vagrant@localhost ~]$ ls /var/crash/
- 127.0.0.1-2017-12-18-08:25:11
- [vagrant@localhost ~]$ yum install crash
- [vagrant@localhost ~]$ crash /var/crash/127.0.0.1-2017-12-18-08\:25\:11/vmcore /usr/src/kernels/linux-`uname -r`/vmlinux
- crash> ?
- * files mach repeat timer
- alias foreach mod runq tree
- ascii fuser mount search union
- bt gdb net set vm
- btop help p sig vtop
- dev ipcs ps struct waitq
- dis irq pte swap whatis
- eval kmem ptob sym wr
- exit list ptov sys q
- extend log rd task
- [ 470.018926] CPU: 0 PID: 1490 Comm: iwconfig Tainted: GF O 3.10.69 #1
- [ 470.019251] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
- [ 470.019603] task: ffff880039406ae0 ti: ffff880035d1c000 task.ti: ffff880035d1c000
- [ 470.019931] RIP: 0010:[<ffffffff8129d3cd>] [<ffffffff8129d3cd>] memcpy+0xd/0x110
- [ 470.020419] RSP: 0018:ffff880035d1dc38 EFLAGS: 00010206
- [ 470.020697] RAX: ffff88003dba3508 RBX: ffff8800362eb400 RCX: 1ffffffffffffffc
- [ 470.021218] RDX: 0000000000000006 RSI: 000000000000001a RDI: ffff88003dba3508
- [ 470.021735] RBP: ffff880035d1dc88 R08: 0000000000016320 R09: ffff88003dba34c0
- [ 470.022917] R10: 0000000000000000 R11: ffff880035d1d9c6 R12: ffff8800341a3280
- [ 470.023437] R13: ffffc90000226104 R14: ffffffffffffffe2 R15: ffff88003dba34c0
- [ 470.023958] FS: 00007ff662ec1740(0000) GS:ffff88003fc00000(0000) knlGS:0000000000000000
- [ 470.024725] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
- [ 470.025223] CR2: 000000000000001a CR3: 0000000038f6a000 CR4: 00000000000406f0
- [ 470.025775] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
- [ 470.026334] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
kdump 的使用在linux崩溃时的更多相关文章
- Linux崩溃时启动脚本获取进程相关信息
编写test.cpp #include <stdlib.h> #include <stdio.h> #include <exception> #include &l ...
- 让linux中的程序崩溃时生成core文件
当我们的linux程序崩溃的时候,常常会有这样的提示: Segmentation fault (core dumped) 段错误 (核心已转储) 提示说生成了core文件,但是此功能 ...
- 编写的windows程序,崩溃时产生crash dump文件的办法
一.引言 dump文件是C++程序发生异常时,保存当时程序运行状态的文件,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草.windows程序 ...
- 获取崩溃时的调用栈和生成dump文件,然后自动重启
首先要说明的是: linux 下 比较方便可以得到 崩溃时的调用栈,win下 比较难办 1. linux 获取调用栈 代码奉上: #include <execinfo.h> //在头 ...
- golang程序因未知错误崩溃时如何记录异常
开发服务器程序时如果未经过充分测试, 服务稳定运行一段时间后会突然崩溃退出.一般是因为程序中出现了某个未捕获的异常. 这类问题属于偶现的,且需要服务器运行一段时间之后才会出现,难以定位有问题的代码段. ...
- 如何在.NET程序崩溃时自动创建Dump?
今天在浏览张队转载文章的留言时,遇到一个读者问了这样的问题,如下图所示: 首先能明确的一点是"程序崩溃退出了是不能用常规的方式dump的",因为整个进程树都已经退出.现场已经无法使 ...
- Linux安装时内存如何分区的相关问题
Linux系统安装时内存如何分区:Linux系统必须的分区是根分区(/)和swap交换分区.普通用户一般分三个区,一个根分区(/),一个家目录(home分区),一个交换分区(swap分区),以80G的 ...
- Linux系统安装时分区的选择(推荐)
Linux系统安装时分区的选择(推荐) 出处:http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html 前言: 以前初识Linux时, ...
- IIS崩溃时自动抓取Dump
背景:在客户现场,IIS有时会崩溃,开发环境没法重现这个bug,唯有抓取IIS的崩溃是的Dump文件分析. IIS崩溃时自动抓取Dump,需要满足下面几个条件 1.启动 Windows Error R ...
随机推荐
- <摘录>字节对齐(强制对齐以及自然对齐)
struct {}node; 32为的x86,window下VC下sizeof(node)的值为1,而linux的gcc下值为0: 一.WINDOWS下(VC--其实GCC和其原理基本一样,象这种问题 ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇) 转
https://www.ancii.com/database/30842.html 微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这 ...
- easyui 只刷新当前页面的数据 datagrid reload 方法
$('#refreshbtn').click(function() { $("#t_auclot").datagrid("reload",serializeFo ...
- 小心!Ubuntu14.04 升级到16.04 的几个坑
收录待用,修改转载已取得腾讯云授权 昨天趁着周末把服务器升级了一把,遇到的坑可不少: sudo apt update sudo apt dist-upgrade 坑1:升级失败后,改用下面命令: su ...
- Spark Streaming揭秘 Day2-五大核心特征
Spark Streaming揭秘 Day2 五大核心特征 引子 书接上回,Streaming更像Spark上的一个应用程序,会有多个Job的配合,是最复杂的Spark应用程序.让我们先从特征角度进行 ...
- JavaScript basics: 2 ways to get child elements with JavaScript
原文: https://blog.mrfrontend.org/2017/10/2-ways-get-child-elements-javascript/ Along the lines of oth ...
- 轻松学习JavaScript十二:JavaScript基于面向对象之创建对象(二)
四原型方式 我们创建的每一个函数都有一个通过prototype(原型)属性.这个属性是一个对象,它的用途是包括能够由特定类型 的全部实例共享的属性和方法. 逻辑上能够这么理解:prototypt通过条 ...
- 文档对象模型-DOM(二)
从NodeList中选择元素 方法一:item()方法,用于返回其中的单一节点,需要在方法的参数中指定所需元素的索引编号. 当其中没有任何元素时,执行代码是对资源的浪费.因此程序员会在执行代码之前,先 ...
- 使用网桥模式(bridge networking mode)配置KVM-QUME虚拟机网络
(1)linux要工作在网桥模式,所以必须安装两个RPM包.即:bridge-utils和tunctl.它们提供所需的brctl.tunctl命令行工具.能够使用yum在线安装: [root@serv ...
- ssh之<context:component-scan base-package="com.xx" />
<context:component-scan/> 配置项不但启用了对类包进行扫描以实施注释驱动 Bean 定义的功能, 同时还启用了注释驱动自动注入的功能 ( 即还隐式地在内部注册了 A ...