激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Ubuntu - 在Ubuntu系統(tǒng)上安裝Kdump來處理系統(tǒng)崩潰

在Ubuntu系統(tǒng)上安裝Kdump來處理系統(tǒng)崩潰

2019-06-14 11:43China_OS服務(wù)器之家 Ubuntu

這篇文章主要介紹了在Ubuntu系統(tǒng)上安裝Kdump來處理系統(tǒng)崩潰的方法,Kdump基于kexec的內(nèi)核崩潰轉(zhuǎn)儲機制,需要的朋友可以參考下

什么是Kdump?

Kdump 是一種的新的crash dump捕獲機制,用來捕獲kernel crash時候產(chǎn)生的crash dump。Kdump需要配置兩個不同目的的kernel,其中一個我們在這里稱作standard(production) kernel;另外一個稱之為Crash(capture)kernel。

standard(production)kernel,是指我正在使用的kernel,當(dāng)standard kernel在使用的過程中出現(xiàn)crash的時候, kdump會切換到crash kernel, 簡單來說,standard kernel會正運行時發(fā)生crash,而crash(capture) Kernel 會被用來捕獲production kernel crash時候產(chǎn)生的crash dump。

捕獲crash dump是在新的crash(capture) kernel 的上下文中來捕獲的,而不是在standard kernel上下文進行。

具體是當(dāng)standard kernel方式crash的時候,kdump通過kexec(后面介紹)自動啟動進入到crash kernel當(dāng)中。如果啟動了kdump服務(wù),standard kernel會預(yù)留一部分內(nèi)存, 這部分內(nèi)存用來啟動crash kernel。

kdump機制主要包括兩個組件:kdump和kexec

    kexec是一個快速啟動機制,允許通過已經(jīng)運行的內(nèi)核的上下文啟動一個Linux內(nèi)核,不需要經(jīng)過BIOS。BIOS可能會消耗很多時間,特別是帶有眾多數(shù)量的外設(shè)的大型服務(wù)器。這種辦法可以為經(jīng)常啟動機器的開發(fā)者節(jié)省很多時間。Kexec是實現(xiàn)kdump機制的關(guān)鍵,它包括2個組成部分:一是內(nèi)核空間的系統(tǒng)調(diào)用kexec_load,負責(zé)在生產(chǎn)內(nèi)核(production kernel 或 first kernel)啟動時將捕獲內(nèi)核(capture kernel或sencond kernel)加載到指定地址。二是用戶空間的工具kexec-tools,他將捕獲內(nèi)核的地址傳遞給生產(chǎn)內(nèi)核,從而在系統(tǒng)崩潰的時候能夠找到捕獲內(nèi)核的地址并運行。沒有kexec就沒有kdump。先有kexec實現(xiàn)了在一個內(nèi)核中可以啟動另一個內(nèi)核,才讓kdump有了用武之地。

    kdump是一種先進的基于kexec的內(nèi)核崩潰轉(zhuǎn)儲機制。當(dāng)系統(tǒng)崩潰時,kdump使用kexec 啟動到第二個內(nèi)核。第二個內(nèi)核通常叫做捕獲內(nèi)核,以很小內(nèi)存啟動以捕獲轉(zhuǎn)儲鏡像。第一個內(nèi)核保留了內(nèi)存的一部分給第二內(nèi)核啟動用。由于kdump利用kexec啟動捕獲內(nèi)核,繞過了 BIOS,所以第一個內(nèi)核的內(nèi)存得以保留。這是內(nèi)核崩潰轉(zhuǎn)儲的本質(zhì)。kdump需要兩個不同目的的內(nèi)核,生產(chǎn)內(nèi)核和捕獲內(nèi)核。生產(chǎn)內(nèi)核是捕獲內(nèi)核服務(wù)的對像。捕獲內(nèi)核會在生產(chǎn)內(nèi)核崩潰時啟動起來,與相應(yīng)的ramdisk一起組建一個微環(huán)境,用以對生產(chǎn)內(nèi)核下的內(nèi)存進行收集和轉(zhuǎn)存。注意,在啟動時,kdump保留了一定數(shù)量的重要的內(nèi)存,為了計算系統(tǒng)需要的真正最小內(nèi)存,加上kdump使用的內(nèi)存數(shù)量,以決定真正的最小內(nèi)存的需求。

kexec和kdump的設(shè)計區(qū)別:

在Ubuntu系統(tǒng)上安裝Kdump來處理系統(tǒng)崩潰

Kexec的設(shè)計是用新內(nèi)核去覆蓋原內(nèi)核位置;而KDUMP是預(yù)留一塊內(nèi)存來加載第二個內(nèi)核(和相關(guān)數(shù)據(jù)),Crash后第二個內(nèi)核在原位置運行(不然就達不到相關(guān)目的了),收集第一個內(nèi)核的相關(guān)內(nèi)存信息。

下面開始試驗kdump特性:

  操作系統(tǒng):ubuntu 12.10(3.5.0-17-generic)

安裝kdump工具
 

復(fù)制代碼
代碼如下:

apt-get install kexec-tools crash

  發(fā)現(xiàn)安裝過程中修改了grub,在引導(dǎo)內(nèi)核配置上(/boot/grub/grub.cfg)多了如下參數(shù)

復(fù)制代碼
代碼如下:

crashker nel=384M-2G:64M,2G-:128M

  crashkernel用來指定保留內(nèi)存的大小,我們可以知道crashkernel幫我們設(shè)定的保留區(qū)域的大小是:如果內(nèi)存小于384M,不保留內(nèi)存;如果內(nèi)存大于等于384M但小于2G,保留64M;如果內(nèi)存大于2G,保留128M。 
修改kdump配置文件(/etc/default/kdump-tools)

復(fù)制代碼
代碼如下:

USE_KDUMP=1

下載dbgsym文件,改文件是用來吊事內(nèi)核信息的文件

復(fù)制代碼
代碼如下:

wagt 'http://ddebs.ubuntu.com/pool/main/l/linux/linux-image-3.5.0-17-generic-dbgsym_3.5.0-17.28_amd64.ddeb'

dpkg -i linux-image-3.5.0-17-generic-dbgsym_3.5.0-17.28_amd64.ddeb

  重啟機器使配置生效。
啟動kdump-tools

復(fù)制代碼
代碼如下:

/etc/init.d/kdump-tools start
Starting kdump-tools: setup_linux_vesafb: 1280x1024x32 @ d9800000 +500000
* loaded kdump kernel

kdump-tools配置(kdump-config show):

復(fù)制代碼
代碼如下:

USE_KDUMP: 1
KDUMP_SYSCTL: kernel.panic_on_oops=1
KDUMP_COREDIR: /var/crash
crashkernel addr: 0x2e000000
current state: ready to kdump

kernel link: 
/usr/lib/debug/boot/vmlinux-3.5.0-17-generic

kexec command:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-3.5.0-17-generic root=UUID=9386113e-a6db-4a1c-9565-8c8c1de4a55a ro irqpoll maxcpus=1 nousb" --initrd=/boot/initrd.img-3.5.0-17-generic /boot/vmlinuz-3.5.0-17-generic

可以通過sysrq強制系統(tǒng)崩潰。 

復(fù)制代碼
代碼如下:

echo ‘c’ > /proc/sysrq-trigger

    這造成內(nèi)核崩潰,如配置有效,系統(tǒng)將重啟進入kdump內(nèi)核,當(dāng)系統(tǒng)進程進入到啟動 kdump服務(wù)的點時,(dump.時間戳文件)將會拷貝到你在kdump配置文件中設(shè)置的位置。ubuntu的缺省目錄是:/var/crash/時間戳文件夾。然后系統(tǒng)重啟進入到正常的內(nèi)核。一旦回復(fù)到正常的內(nèi)核,就可以在上述的目錄下發(fā)現(xiàn)dump文件,即內(nèi)存轉(zhuǎn)儲文件。可以使用之前安裝的crash工具來進行分析。

 

生成dump文件后/var/crash的目錄結(jié)構(gòu):

├── 201305061817
│   ├── config_link -> /boot/config-3.5.0-17-generic
│   ├── dump.201305061817
│   ├── kernel_link -> /usr/lib/debug/boot/vmlinux-3.5.0-17-generic
│   └── system.map_link -> /boot/System.map-3.5.0-17-generic
├── config_link -> /boot/config-3.5.0-17-generic
├── kernel_link -> /usr/lib/debug/boot/vmlinux-3.5.0-17-generic
├── kexec_cmd
└── system.map_link -> /boot/System.map-3.5.0-17-generic
  ump.201305061817就是生成的dump文件,后面的一串?dāng)?shù)字誒當(dāng)時的時間戳。 
接下來用crash進行分析
 

復(fù)制代碼
代碼如下:

crash /usr/lib/debug/boot/vmlinux-3.5.0-17-generic dump.201305061817

出現(xiàn)如下錯誤提示: crash: cannot resolve: "xtime",此時crash的版本為5.1.6,版本太低,調(diào)試不了3.5的內(nèi)核,需要升級crash,可以手動安裝crash。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 欧美在线观看视频网站 | 香蕉久久久久 | 黄色免费视频在线 | 免费观看一区二区三区视频 | 成人一级黄色大片 | 午夜视频在线观 | 一级黄色在线观看 | 91香蕉国产亚洲一区二区三区 | 激情影院在线观看 | 欧美成人久久 | 国产中出在线观看 | 在线成人www免费观看视频 | 99re热视频这里只精品 | 国产18成人免费视频 | 成人黄色小视频网站 | 亚洲国产精品久久久久婷婷老年 | 91精品国产日韩91久久久久久360 | 久久精品欧美电影 | 欧美国产一区二区三区激情无套 | 一级免费视频 | 久章草在线观看 | 欧美性受xxx黑人xyx性爽 | 国内精品久久久久久影视8 国产一区二区成人在线 | xxxx18韩国护士hd老师 | 久久免费视频7 | 黄色免费高清网站 | 久久艹逼 | 精品欧美一区二区精品久久小说 | 人成免费a级毛片 | 欧美亚洲免费 | 国产资源在线播放 | 亚洲综合无码一区二区 | 国产男女 爽爽爽爽视频 | 亚洲成人欧美在线 | 欧美亚洲国产一区二区三区 | 成年人黄视频 | 一级少妇女片 | 99久久精品免费看国产小宝寻花 | 久久艹精品 | 国产毛片自拍 | 国产成人精品一区二区仙踪林 |