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,則保留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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM