利用Kdump分析內核奔潰原因(1)
機器X Centos 5.5 X64 hadoop +mongdb+hbase 機器內核奔潰數次,日誌中均查不到詳細原因 逐 打算利用kdump在奔潰時轉存內存。
本文介紹如何開啓kdump進行內存轉存。
1 whats kdump
具體kdump是如何工作的 你可以參考
http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/?cmp=dwnpr&cpb=dw&ct=dwcon&cr=cn_51CTO_dl&ccy=cn
如果你對windows比較熟悉 你就簡單的這麼理解,kdump 做的工作就是windows的華醫生的工作。what's Dr Waston?
開始-》運行-》drwtsn32 看看就曉得了。
2 vi /etc/kdump.conf
添加如下行
**********************************************
ext3 UUID=4a6034d4-3f03-42d8-b7da-4c76c828a0ad
path /var/kdump
core_collector makedumpfile -c --message-level 1
default shell
**************************************
這裏以將內核轉存到磁盤上的文件爲例,如想用ssh ftp 或設備 參考kdunp文檔。
上述的ext3 UUID=XXX 是/var/kdump目錄所在的磁盤的UUID,每個機器不同, 可以使用 blkid 查看到,
core_collector makedumpfile -c --message-level 1
可以用0 1 2 4 7 8 15 7種選項 區別在於dump出的文件內容不同
Message | progress common error debug
Level | indicator message message message
---------+-----------------------------------------
0 |
1 | X
2 | X
4 | X
* 7 | X X X
8 | X
15 | X X X X
這一行 也可用
core_collector makedumpfile -c -d 1 代替
這裏 可以選擇0 1 2 4 8 16 31
Dump | zero cache cache user free
Level | page page private data page
-------+---------------------------------------
0 |
1 | X
2 | X
4 | X X
8 | X
16 | X
31 | X X X X X
3
修改內核引導參數,爲啓動捕獲內核預留內存
vi /boot/gurb/gurb.conf
kerbel 後添加 crashkernel=128M@16M
128M@16M可自己根據情況修改
4 chkconfig kdump on
5 reboot
6 service kdump status
如果狀態爲 Kdump is operational 則可以繼續下面的操作
7 人工觸發 dump一次 測試前面配置是否正確
Kdump echo c > /proc/sysrq-trigger
之後 系統奔潰 轉存 重啓
8 ls -al /var/kdump/
可以看到 127.0.0.1-系統時間的目錄 裏面就是vmorce轉存文件了
ok 設置成功 下次真奔潰的時候 上分析轉存過程
本文介紹如何開啓kdump進行內存轉存。
1 whats kdump
具體kdump是如何工作的 你可以參考
http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/?cmp=dwnpr&cpb=dw&ct=dwcon&cr=cn_51CTO_dl&ccy=cn
如果你對windows比較熟悉 你就簡單的這麼理解,kdump 做的工作就是windows的華醫生的工作。what's Dr Waston?
開始-》運行-》drwtsn32 看看就曉得了。
2 vi /etc/kdump.conf
添加如下行
**********************************************
ext3 UUID=4a6034d4-3f03-42d8-b7da-4c76c828a0ad
path /var/kdump
core_collector makedumpfile -c --message-level 1
default shell
**************************************
這裏以將內核轉存到磁盤上的文件爲例,如想用ssh ftp 或設備 參考kdunp文檔。
上述的ext3 UUID=XXX 是/var/kdump目錄所在的磁盤的UUID,每個機器不同, 可以使用 blkid 查看到,
core_collector makedumpfile -c --message-level 1
可以用0 1 2 4 7 8 15 7種選項 區別在於dump出的文件內容不同
Message | progress common error debug
Level | indicator message message message
---------+-----------------------------------------
0 |
1 | X
2 | X
4 | X
* 7 | X X X
8 | X
15 | X X X X
這一行 也可用
core_collector makedumpfile -c -d 1 代替
這裏 可以選擇0 1 2 4 8 16 31
Dump | zero cache cache user free
Level | page page private data page
-------+---------------------------------------
0 |
1 | X
2 | X
4 | X X
8 | X
16 | X
31 | X X X X X
3
修改內核引導參數,爲啓動捕獲內核預留內存
vi /boot/gurb/gurb.conf
kerbel 後添加 crashkernel=128M@16M
128M@16M可自己根據情況修改
4 chkconfig kdump on
5 reboot
6 service kdump status
如果狀態爲 Kdump is operational 則可以繼續下面的操作
7 人工觸發 dump一次 測試前面配置是否正確
Kdump echo c > /proc/sysrq-trigger
之後 系統奔潰 轉存 重啓
8 ls -al /var/kdump/
可以看到 127.0.0.1-系統時間的目錄 裏面就是vmorce轉存文件了
ok 設置成功 下次真奔潰的時候 上分析轉存過程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.