2.配置/etc/kdump.conf文件,指定vmcore將被轉儲的路徑。可以通過scp拷貝到另一個服務器,也可以是裸設備,或者本地的文件系統。
3.修改一些啓動參數,爲捕獲很保留一塊內存。對於i386和x86_64架構,編輯/etc/grub.conf,在內核行的末尾添加 crashkernel=128@16M。
下面是一個帶有kdump選項的/etc/grub.conf文件:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub
after making changes to this file
# NOTICE:
You do not have a /boot partition.
This means that
#
all kernel and initrd paths are relative to /, eg.
#
root (hd0,0)
#
kernel /boot/vmlinuz-version ro root=/dev/hda1
#
initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Client (2.6.17-1.2519.4.21.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.17-1.2519.4.21.el5
ro root=LABEL=/ rhgb quiet crashkernel=128M@16M
initrd /boot/initrd-2.6.17-1.2519.4.21.el5.img
4.修改之後,重啓系統。128M內存(從16M開始)不被正常的系統使用,爲捕獲內核保留。注意,free -m的輸出會顯示內存比不加參數時少了128M,這就是我們所期望的。
注意:可以使用小於128M,但是隻使用64M做測試被證實是不可靠的。
5.現在,保留內存已經設置了,打開kdump初始腳本,啓動服務:
#
chkconfig kdump on
#
service kdump start
6.可以通過kexec加載內核鏡像,讓系統準備捕獲一個崩潰時產生的vmcore。可以通過sysrq強制系統崩潰:
# echo "c" >
/proc/sysrq-trigger
這造成kernel panic,緊跟着系統重啓kdump內核。當啓動進程進入到啓動kdump服務器時,