分享好友 系统运维首页 频道列表

centos5.7下的kdump

Centos  2023-02-10 03:020

我的centos5.7是台虚拟机,用的是virtual box安装的。安装的时候安装模式我没有选择图像界面,而是最小化安装,即只有命令行。

centos5.7下的kdump

1,从上图可以看出我的kdump没有安装(5.7最小化安装没有装kdump),我的内存给的是4096而到了这里只能使用3个G。

2,接下来安装kexec-tools、kernel-debuginfo和kernel-debuginfo-common。kexec-tools这个包装了之后才有kdump服务,安装kernel-debuginfo和kernel-debuginfo-common是因为crash分析vmcore文件时要用到它的vmlinux文件,不安装的话找不到vmlinux文件就无法使用crash分析vmcore文件了。我这儿kernel-debuginfo和kernel-debuginfo-common事先已经从官网下载好了。

centos5.7下的kdump

3,安装好了之后我们看一眼kdump的状态。看到状态是not operational,即不能操作,因为我们还没有配置kdump,也还没有启动它。

centos5.7下的kdump

4,配置kdump。我把配置过程放进了脚本当中。当然这个配置过程的来自我的导师钟会,只不过我把它放到了脚本当中而已。执行脚本即可。

 centos5.7下的kdump

5,脚本执行完成之后配置文件/etc/kdump.conf的内容变成了这样

centos5.7下的kdump

第一行是 / 分区对应的设备和文件系统。

第二行是捕捉崩溃保存的文件所存放的位置。

第三行设置保存内核镜像内容的级别,-c表示使用makedumpfile压缩数据, --message-level 1表示提示信息的级别(1表示只显示进度信息)-d 31表示不复制所有可以去掉的内存页(包括zero page, cache page, cache private, user data, free page等)。

第四行是一些额外的模块。

第五行是崩溃后默认自动重启。

 5,启动kdump。并查看状态。我这里没有这2个模块,所以启动失败。

centos5.7下的kdump

6,去掉这2个模块再次启动并检查状态。(⊙o⊙)哦!!!还是无法启动,真尴尬!注意划线部分Please reserve memory by passing "crashkernel=x@y" parameter to the kernel.查看/var/log/messages文件里头也有提示错误: No crashkernel parameter specified for running kernel

centos5.7下的kdump

centos5.7下的kdump

centos5.7下的kdump

7,网上查了一下资料说将crashkernel=auto改为crashkernel=128M@48M或者更大,取决于内存是否足够。那么接下来我就照搬过来改一下。

centos5.7下的kdump

 

8,再次启动kdump并检查状态。

centos5.7下的kdump

9,糟糕的是还是启动失败,难道是要重启服务器?于是我就重启了。由于kdump是开机启动的,重启后直接查看状态即可。

centos5.7下的kdump

10,这回终于成功了。从开始的kdump is not operational变成了现在的kdump is operational,说明kdump配置成功可以使用了。config_kdump.sh内容现在是这样的:

#!/usr/bin/env bash
device=`df -lh /var |tail -1 |awk '{print $1}'`
filesystem=`mount|grep -w $device|awk '{print $(NF-1)}'` > /etc/kdump.conf
echo "$filesystem $device" >> /etc/kdump.conf
echo "path /var/crash" >> /etc/kdump.conf
echo "core_collector makedumpfile -c --message-level 1 -d 31" >> /etc/kdump.conf
#echo "extra_modules mpt2sas mpt3sas megaraid_sas hpsa ahci" >> /etc/kdump.conf
echo "extra_modules mpt2sas megaraid_sas ahci" >> /etc/kdump.conf
echo "default reboot" >> /etc/kdump.conf
sed -i "s/mkdumprd -d/mkdumprd --allow-missing -d/" /etc/init.d/kdump
chkconfig --level 2345 kdump on
#grubby --args='crashkernel=auto' --update-kernel=ALL
grubby --args='crashkernel=128M@48M' --update-kernel=ALL

 

11,接下来验证一下kdump是否能够捕捉内核崩溃。

centos5.7下的kdump

 

 

开启Magic System Request Key功能:echo 1 >/proc/sys/kernel/sysrq

制造系统崩溃:echo c >/proc/sysrq-trigger

 下面这是崩溃后重启的画面。

 centos5.7下的kdump

12,现在重新登录系统,进入/var/crash目录

centos5.7下的kdump

 

 进入目录我们看的一个ip+时间戳构成的子目录,进入该子目录我们看到了vmcore文件,这个文件就是kdump捕捉到内核崩溃产生的信息然后生成的文件。

现在我们可以通过crash命令对该文件进行分析了。

 centos5.7下的kdump

 

 12,如何分析vmcore文件可以参照我的这篇文章。

http://www.cnblogs.com/sonwnja/p/6802844.html

 

查看更多关于【Centos】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
centos6下同时安装python2和python3
#build-essential compile packagesyum groupinstall "Development Tools"yum install openssl-develyum install zlib-develyum install make gcc gcc-c++ kernel-develhttp://unix.stackexchange.com/questions/291737/zipimport-zipimporterror-cant-decomp

0评论2023-02-10677

CentOS下查看文件和文件夹大小 linux查看文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查

0评论2023-02-10731

centos7 rc.local脚本执行不成功
腾讯云 centos7   配置文件/etc/rc.local的内容如下:#!/bin/sh#secu_agent init monitor, install at Thu Aug 3 11:19:41 CST 2017/usr/local/sa/agent/init_check.sh/dev/null 21/usr/sbin/ntpdate ntpupdate.tencentyun.com /dev/null 21 /usr/local/qclo

0评论2023-02-10442

如何在centos7启动时自动挂载硬盘
在/etc/rc.local中加入如下的语句,这样就不用每次重启后手动挂载了(后面挂载的目录根据自己的需求而定):mount  /dev/sdb1 /usr/sharedfiles/sdbmount  /dev/sdc1 /usr/sharedfiles/sdcmount  /dev/sdb1 /root/sdbmount  /dev/sdc1 /root/sdc注意:可以

0评论2023-02-10535

centos7.2 开启防火墙
开启防火墙当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置 systemctl restart firewalld 和 firewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”

0评论2023-02-10997

CentOS7 安装 Python3.8后 pip 安装报错
[root@localhost Python-3.8.0]# pip install bs4Collecting bs4Using cached https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gzERROR: Command errored out with exit status

0评论2023-02-10961

[转]How to install PHP 5.3 on CentOS
在DIAHosting买了一个VPS,自带PHP5.1.6.我想安装wordpress,但是由于版本比较新,要求PHP也要是5.2以上的,于是我就安装了PHP5.3.20--------------------------------------------------------------------------------------------------------------------

0评论2023-02-10997

外部访问docker内部容器centos的http服务
1.创建容器docker run -d -it -h dd -p 5000 --name bbbbb centosdd 是用户名 --name 后面是容器名字2.在我们开始安装Nginx及其他所需软件之前先安装一些前提软yum install python-setuptools yum -y install epel-release yum install python-pip pip instal

0评论2023-02-10480

Centos7安装yum命令 centos8如何安装yum
步骤如下http://mirrors.163.com/centos/7/os/x86_64/Packages/到上面这个网站去下载如下RPM包(为版本号,根据最新的自己替换即可)python-iniparse-.noarch.rpmyum-metadata-parser-.x86_64.rpmyum-.centos.noarch.rpmyum-plugin-fastestmirror-*.noarch.rp

0评论2023-02-10760

CentOS 7 - 安装Python 3
Enable Software Collections (SCL)Software Collections, also known as SCL is a community project that allows you to build, install, and use multiple versions of software on the same system, without affecting system default packages. By enabl

0评论2023-02-10592

centos清除历史命令
1、rm -f /root/.bash_profile  历史命令记录在此文件2、history -c   清除缓存会话退出后重新连接输入history可以看到历史命令清空了。两条命令的顺序不能乱

0评论2023-02-09473

更多推荐