欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

記錄內(nèi)核異常棧及vmcore文件的方法及系統(tǒng)的制作方法

文檔序號(hào):9667244閱讀:1148來(lái)源:國(guó)知局
記錄內(nèi)核異常棧及vmcore文件的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種記錄內(nèi)核異常桟及vmcore文件的方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,網(wǎng)絡(luò)設(shè)備(如防火墻、交換機(jī)等)一般都搭載有watchdog功能,即在系統(tǒng)異?;虬l(fā)生重大錯(cuò)誤情況下自動(dòng)重啟設(shè)備,由于內(nèi)核崩潰現(xiàn)場(chǎng)的內(nèi)存鏡像文件(vmcore文件)和異常棧信息是保存在內(nèi)存中,因此,設(shè)備重啟后vmcore文件和內(nèi)核異常棧信息也就隨之消失了,而內(nèi)核異常棧信息是解決內(nèi)核bug必不可少的且至關(guān)重要的信息,有時(shí)需要把內(nèi)核異常棧或內(nèi)核崩潰現(xiàn)場(chǎng).core文件發(fā)給后端研發(fā)人員定位,以解決內(nèi)核異常問(wèn)題。
[0003]但是,現(xiàn)有技術(shù)中,并沒(méi)有記錄內(nèi)核異常棧和內(nèi)核崩潰現(xiàn)場(chǎng)vmcore文件的實(shí)現(xiàn)方案,也無(wú)法確定內(nèi)核發(fā)生異常的時(shí)間,設(shè)備重啟后內(nèi)核異常棧及vmcore文件就丟失了。
[0004]因此,如何實(shí)現(xiàn)自動(dòng)記錄并保存內(nèi)核異常棧和內(nèi)核崩潰現(xiàn)場(chǎng)vmcore文件,以便于文件導(dǎo)出及定位內(nèi)核異常原因,實(shí)現(xiàn)內(nèi)核異常問(wèn)題的定位,成為目前急需解決的問(wèn)題之一。

【發(fā)明內(nèi)容】

[0005]針對(duì)現(xiàn)有技術(shù)方案存在的問(wèn)題和不足,本發(fā)明提供了一種記錄內(nèi)核異常棧及vmcore文件的方法及系統(tǒng),解決了現(xiàn)有技術(shù)中無(wú)法在linux內(nèi)核出問(wèn)題的第一時(shí)間記錄內(nèi)核異常桟及vmcore文件的問(wèn)題。
[0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種記錄內(nèi)核異常棧及vmcore文件的方法,該方法包括:
[0007]當(dāng)系統(tǒng)內(nèi)核出現(xiàn)異常時(shí),所述系統(tǒng)內(nèi)核觸發(fā)捕獲內(nèi)核啟動(dòng);
[0008]所述捕獲內(nèi)核生成所述系統(tǒng)內(nèi)核崩潰現(xiàn)場(chǎng)的內(nèi)存鏡像文件vmcore ;
[0009]在所述捕獲內(nèi)核啟動(dòng)過(guò)程中,所述捕獲內(nèi)核從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息,生成文本形式的內(nèi)核異常信息文件,并將所述內(nèi)核異常信息文件存儲(chǔ)到預(yù)設(shè)存儲(chǔ)介質(zhì),以及
[0010]對(duì)所述vmcore進(jìn)行壓縮,并將壓縮后的vmcore存儲(chǔ)到所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0011]其中,在所述捕獲內(nèi)核從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息之前,還包括:
[0012]所述捕獲內(nèi)核掛載所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0013]其中,所述捕獲內(nèi)核從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息,生成文本形式的內(nèi)核異常信息文件,并將所述內(nèi)核異常信息文件存儲(chǔ)到預(yù)設(shè)存儲(chǔ)介質(zhì),包括:
[0014]獲取當(dāng)前系統(tǒng)時(shí)間;
[0015]從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息;
[0016]根據(jù)所述內(nèi)核異常棧信息生成以所述當(dāng)前系統(tǒng)時(shí)間為標(biāo)識(shí)的文本形式的內(nèi)核異常信息文件;
[0017]將所述內(nèi)核異常信息文件保存到所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0018]其中,所述根據(jù)所述內(nèi)核異常棧信息生成以所述當(dāng)前系統(tǒng)時(shí)間為標(biāo)識(shí)的文本形式的內(nèi)核異常信息文件,包括:
[0019]根據(jù)所述內(nèi)核異常棧信息生成以所述當(dāng)前系統(tǒng)時(shí)間命名的文本形式的內(nèi)核異常信息文件;或
[0020]將所述當(dāng)前系統(tǒng)時(shí)間作為內(nèi)核異常發(fā)生時(shí)間記錄在所述文本形式的內(nèi)核異常信息文件中。
[0021 ] 其中,所述方法還包括:
[0022]所述系統(tǒng)內(nèi)核預(yù)先配置用于加載所述捕獲內(nèi)核的內(nèi)存空間;
[0023]在所述系統(tǒng)內(nèi)核啟動(dòng)時(shí),所述系統(tǒng)內(nèi)核采用kexec加載所述捕獲內(nèi)核到所述預(yù)設(shè)內(nèi)存空間。
[0024]其中,在所述系統(tǒng)內(nèi)核啟動(dòng)之前,還包括:
[0025]所述系統(tǒng)內(nèi)核預(yù)先將所述kexec的可執(zhí)行文件和所述捕獲內(nèi)核的鏡像文件配置到所述系統(tǒng)內(nèi)核的內(nèi)核文件系統(tǒng)中。
[0026]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種記錄內(nèi)核異常棧及vmcore文件的系統(tǒng),該系統(tǒng)包括:
[0027]系統(tǒng)內(nèi)核,用于當(dāng)系統(tǒng)內(nèi)核出現(xiàn)異常時(shí),觸發(fā)捕獲內(nèi)核啟動(dòng);
[0028]捕獲內(nèi)核,用于生成所述系統(tǒng)內(nèi)核崩潰現(xiàn)場(chǎng)的內(nèi)存鏡像文件vmcore ;
[0029]所述捕獲內(nèi)核,還用于從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息,生成文本形式的內(nèi)核異常信息文件,并將所述內(nèi)核異常信息文件存儲(chǔ)到預(yù)設(shè)存儲(chǔ)介質(zhì),以及對(duì)所述vmcore進(jìn)行壓縮,并將壓縮后的vmcore存儲(chǔ)到所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0030]其中,所述捕獲內(nèi)核,還用于在從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息之前,掛載所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0031]其中,所述系統(tǒng)內(nèi)核,還用于預(yù)先配置用于加載所述捕獲內(nèi)核的內(nèi)存空間,并在所述系統(tǒng)內(nèi)核啟動(dòng)時(shí),采用kexec加載所述捕獲內(nèi)核到所述預(yù)設(shè)內(nèi)存空間。
[0032]其中,所述系統(tǒng)內(nèi)核,還用于在啟動(dòng)之前,預(yù)先將所述kexec的可執(zhí)行文件和所述捕獲內(nèi)核的鏡像文件配置到所述系統(tǒng)內(nèi)核的內(nèi)核文件系統(tǒng)中。
[0033]本發(fā)明的有益效果為:
[0034]本發(fā)明提供的記錄內(nèi)核異常棧及vmcore文件的方法及系統(tǒng),通過(guò)在系統(tǒng)內(nèi)核(即第一內(nèi)核)啟動(dòng)時(shí),當(dāng)?shù)谝粌?nèi)核出現(xiàn)異常時(shí)使用kexec觸發(fā)預(yù)先加載的捕獲內(nèi)核啟動(dòng),以獲取內(nèi)核異常桟信息及vmcore文件并保存到存儲(chǔ)介質(zhì)中,以便于后續(xù)對(duì)內(nèi)核異常進(jìn)行定位,解決了網(wǎng)絡(luò)設(shè)備在現(xiàn)網(wǎng)環(huán)境中l(wèi)inux內(nèi)核出現(xiàn)問(wèn)題的第一時(shí)間無(wú)法記錄內(nèi)核異常棧及vmcore文件的問(wèn)題。
[0035]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說(shuō)明】
[0036]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0037]圖1為本發(fā)明實(shí)施例提出的一種記錄內(nèi)核異常棧及vmcore文件的方法的流程圖;
[0038]圖2為本發(fā)明實(shí)施例提出的記錄內(nèi)核異常棧及vmcore文件的方法中步驟SI3的細(xì)分步驟流程圖;
[0039]圖3為本發(fā)明實(shí)施例提出的一種記錄內(nèi)核異常棧及vmcore文件的系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
[0041]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書(shū)中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。
[0042]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。
[0043]圖1示出了本發(fā)明實(shí)施例的一種記錄內(nèi)核異常棧及vmcore文件的方法的流程圖。
[0044]如圖1所示,本發(fā)明實(shí)施例提出的記錄內(nèi)核異常棧及vmcore文件的方法具體包括以下步驟:
[0045]S11、當(dāng)系統(tǒng)內(nèi)核出現(xiàn)異常時(shí),所述系統(tǒng)內(nèi)核觸發(fā)捕獲內(nèi)核啟動(dòng);
[0046]其中,系統(tǒng)內(nèi)核為網(wǎng)絡(luò)設(shè)備在現(xiàn)網(wǎng)環(huán)境中Linux系統(tǒng)的系統(tǒng)內(nèi)核(即第一內(nèi)核),捕獲內(nèi)核用于當(dāng)系統(tǒng)內(nèi)核出現(xiàn)異常時(shí),獲取系統(tǒng)內(nèi)核的完整信息,包括CPU寄存器、堆棧數(shù)據(jù)等。
[0047]S12、所述捕獲內(nèi)核生成所述系統(tǒng)內(nèi)核崩潰現(xiàn)場(chǎng)的內(nèi)存鏡像文件vmcore ;
[0048]具體的,當(dāng)linux系統(tǒng)內(nèi)核發(fā)生崩潰的時(shí)候,可以通過(guò)kdump等方式收集內(nèi)核崩潰之前的內(nèi)存,生成所述系統(tǒng)內(nèi)核崩潰現(xiàn)場(chǎng)的內(nèi)存鏡像文件vmcore。
[0049]S13、在所述捕獲內(nèi)核啟動(dòng)過(guò)程中,所述捕獲內(nèi)核從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息,生成文本形式的內(nèi)核異常信息文件,并將所述內(nèi)核異常信息文件存儲(chǔ)到預(yù)設(shè)存儲(chǔ)介質(zhì),以及
[0050]對(duì)所述vmcore進(jìn)行壓縮,并將壓縮后的vmcore存儲(chǔ)到所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0051 ] 具體的,捕獲內(nèi)核通過(guò)運(yùn)行預(yù)設(shè)的自定義腳本,采用vmcore-dmesg命令從所述vmcore中提取帶有調(diào)試信息的內(nèi)核異常棧信息,生成文本形式的內(nèi)核異常信息文件,并將所述內(nèi)核異常信息文件存儲(chǔ)到預(yù)設(shè)存儲(chǔ)介質(zhì),并采用Makedumpfile-c-d-xvmcore—diskset = /proc/vmcore命令對(duì)所述vmcore進(jìn)行壓縮,并將壓縮后的vmcore存儲(chǔ)到所述預(yù)設(shè)存儲(chǔ)介質(zhì)。
[0052]本實(shí)施例中,通過(guò)編譯kexec-tools工具及makedumpfile工具,按照當(dāng)前系統(tǒng)x86_64架構(gòu)編譯開(kāi)源代碼生成所需的kexec、vmcore-dmesg、ma
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泰来县| 崇明县| 永善县| 合肥市| 绥宁县| 临泉县| 尼木县| 通河县| 浦县| 定结县| 桐城市| 昭苏县| SHOW| 西和县| 河东区| 客服| 鹿邑县| 平邑县| 敦煌市| 泗洪县| 米林县| 绩溪县| 农安县| 汉源县| 琼中| 襄汾县| 拉孜县| 惠水县| 同心县| 泾阳县| 东方市| 珲春市| 绥化市| 赤峰市| 乌拉特后旗| 泰和县| 萨嘎县| 江门市| 白河县| 大荔县| 红安县|