目錄
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
安裝內核相應包
-
首先使用命令
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.rpm
kernel-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