本發(fā)明涉及l(fā)inux系統(tǒng)故障處理技術(shù)領(lǐng)域,特別是涉及一種基于linux系統(tǒng)的CPU故障診斷處理方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,計(jì)算機(jī)對人類的發(fā)展起到了關(guān)鍵的作用。中央處理器CPU是計(jì)算機(jī)的核心部分,可以實(shí)現(xiàn)運(yùn)算及控制指揮的功能,使得每個(gè)部件在CPU的作用下有條不紊的協(xié)調(diào)工作。一旦CPU出現(xiàn)錯(cuò)誤或故障,會導(dǎo)致計(jì)算機(jī)不能正常工作或宕機(jī)。
但是目前的計(jì)算機(jī)無法主動根據(jù)CPU的錯(cuò)誤事件文件來判斷CPU所發(fā)生的故障類型,即當(dāng)CPU發(fā)生故障時(shí)無法為工作人員提供參考信息,使工作人員需要根據(jù)其他數(shù)據(jù)自行判斷故障類型,便利性低,增大了工作人員的工作困難度;同時(shí)目前的計(jì)算機(jī)也無法根據(jù)故障類型來主動進(jìn)行相應(yīng)的處理,一旦工作人員無法及時(shí)發(fā)現(xiàn)CPU發(fā)生了故障,則計(jì)算機(jī)會在故障情況下繼續(xù)運(yùn)行,很可能會影響計(jì)算機(jī)的正常使用,甚至?xí)?dǎo)致計(jì)算機(jī)內(nèi)數(shù)據(jù)出現(xiàn)錯(cuò)誤,進(jìn)而給用戶的工作生活帶來損失,安全性低。
因此,如何提供一種便利性及安全性高的基于linux系統(tǒng)的CPU故障診斷處理方法及系統(tǒng)是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于linux系統(tǒng)的CPU故障診斷處理方法及系統(tǒng),能夠通過主動對CPU事件源中的錯(cuò)誤事件文件進(jìn)行分析判斷來確定CPU是否發(fā)生了緩存故障,而不需要工作人員自行進(jìn)行分析,便利性高;且能夠根據(jù)故障類型來主動進(jìn)行相應(yīng)的處理,避免計(jì)算機(jī)在故障情況下繼續(xù)運(yùn)行,進(jìn)而避免給用戶的工作生活帶來損失,安全性高。
為解決上述技術(shù)問題,本發(fā)明提供了一種基于linux系統(tǒng)的CPU故障診斷處理方法,包括:
步驟s101:分析CPU事件源中的錯(cuò)誤事件文件的事件類型,統(tǒng)計(jì)同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù);
步驟s102:將在第一預(yù)設(shè)時(shí)間內(nèi)個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件;
步驟s103:根據(jù)所述故障格式文件判斷所述CPU的故障類型是否為緩存故障類型,如果是,刷新發(fā)生故障的緩存;
步驟s104:根據(jù)緩存刷新后生成的返回值,判斷是否成功刷新所述發(fā)生故障的緩存,如果否,控制所述CPU離線。
優(yōu)選地,所述步驟s101的過程具體為:
觸發(fā)第一計(jì)時(shí)器;
依次分析所述CPU事件源中的錯(cuò)誤事件文件的事件類型,將同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)記錄至對應(yīng)的計(jì)數(shù)器內(nèi)。
優(yōu)選地,所述步驟s102的過程具體為:
當(dāng)所述第一計(jì)時(shí)器記錄的時(shí)間達(dá)到所述第一預(yù)設(shè)時(shí)間時(shí),控制所述第一計(jì)時(shí)器停止計(jì)時(shí);
控制全部所述計(jì)數(shù)器停止計(jì)數(shù),獲取記錄個(gè)數(shù)達(dá)到或超出所述預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器對應(yīng)的事件類型;
將獲取的所述事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件。
優(yōu)選地,所述步驟s102的過程具體為:
當(dāng)所述第一計(jì)時(shí)器記錄的時(shí)間未超出所述第一預(yù)設(shè)時(shí)間時(shí),若有計(jì)數(shù)器的記錄個(gè)數(shù)達(dá)到所述預(yù)設(shè)個(gè)數(shù),獲取記錄個(gè)數(shù)達(dá)到所述預(yù)設(shè)個(gè)數(shù)的所述計(jì)數(shù)器對應(yīng)的事件類型,并控制記錄個(gè)數(shù)達(dá)到所述預(yù)設(shè)個(gè)數(shù)的所述計(jì)數(shù)器停止計(jì)數(shù);
將獲取的所述事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件。
優(yōu)選地,步驟s104之后還包括:
控制全部所述計(jì)數(shù)器清零,觸發(fā)第二計(jì)時(shí)器;
當(dāng)所述第二計(jì)時(shí)器記錄的時(shí)間達(dá)到第二預(yù)設(shè)時(shí)間時(shí),控制所述第二計(jì)時(shí)器停止計(jì)時(shí),觸發(fā)全部所述計(jì)數(shù)器重新開始計(jì)數(shù),并重新進(jìn)行步驟s101。
優(yōu)選地,所述緩存故障類型包括普通緩存故障或TLB頁表緩存故障。
優(yōu)選地,所述第一預(yù)設(shè)時(shí)間為36小時(shí)~72小時(shí)。
優(yōu)選地,所述預(yù)設(shè)個(gè)數(shù)為2~3。
為解決上述技術(shù)問題,本發(fā)明還提供了一種基于linux系統(tǒng)的CPU故障診斷處理系統(tǒng),包括:
統(tǒng)計(jì)模塊,分析CPU事件源中的錯(cuò)誤事件文件的事件類型,統(tǒng)計(jì)同一事件類型的所述錯(cuò)誤事件文件的個(gè)數(shù);
故障標(biāo)記模塊,用于將第一預(yù)設(shè)時(shí)間內(nèi)個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件;
判斷模塊,用于根據(jù)所述故障格式文件判斷所述CPU的故障類型是否為緩存故障類型,如果是,觸發(fā)緩存刷新模塊;
所述緩存刷新模塊,用于刷新發(fā)生故障的緩存;
刷新判斷模塊,用于根據(jù)緩存刷新后生成的返回值,判斷是否成功刷新所述發(fā)生故障的緩存,如果否,控制所述CPU離線。
優(yōu)選地,所述統(tǒng)計(jì)模塊具體包括:
第一計(jì)時(shí)觸發(fā)模塊,用于觸發(fā)第一計(jì)時(shí)器;
計(jì)數(shù)控制模塊,用于依次分析所述CPU事件源中的錯(cuò)誤事件文件的事件類型,將同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)記錄至對應(yīng)的計(jì)數(shù)器內(nèi)。
本發(fā)明提供了一種基于linux系統(tǒng)的CPU故障診斷處理方法及系統(tǒng),能夠通過主動對CPU事件源中的錯(cuò)誤事件文件進(jìn)行分析判斷來確定CPU是否發(fā)生了緩存故障,而不需要工作人員自行進(jìn)行分析,便利性高;且當(dāng)確定發(fā)生緩存類故障后,本發(fā)明能夠?qū)Πl(fā)生故障的緩存進(jìn)行刷新,若刷新失敗,則控制CPU離線,可見,本發(fā)明能夠根據(jù)故障類型來主動進(jìn)行相應(yīng)的處理,避免了計(jì)算機(jī)在故障情況下繼續(xù)運(yùn)行,進(jìn)而避免給用戶的工作生活帶來損失,安全性高。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種基于linux系統(tǒng)的CPU故障診斷處理方法的過程的流程圖;
圖2為本發(fā)明提供的另一種基于linux系統(tǒng)的CPU故障診斷處理方法的過程的流程圖;
圖3為本發(fā)明提供的另一種基于linux系統(tǒng)的CPU故障診斷處理方法的過程的流程圖;
圖4為本發(fā)明提供的一種基于linux系統(tǒng)的CPU故障診斷處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種基于linux系統(tǒng)的CPU故障診斷處理方法及系統(tǒng),能夠通過主動對CPU事件源中的錯(cuò)誤事件文件進(jìn)行分析判斷來確定CPU是否發(fā)生了緩存故障,而不需要工作人員自行進(jìn)行分析,便利性高;且能夠根據(jù)故障類型來主動進(jìn)行相應(yīng)的處理,避免計(jì)算機(jī)在故障情況下繼續(xù)運(yùn)行,進(jìn)而避免給用戶的工作生活帶來損失,安全性高。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
本發(fā)明提供了一種基于linux系統(tǒng)的CPU故障診斷處理方法,參見圖1所示,圖1為本發(fā)明提供的一種基于linux系統(tǒng)的CPU故障診斷處理方法的過程的流程圖;該方法包括:
步驟s101:分析CPU事件源中的錯(cuò)誤事件文件的事件類型,統(tǒng)計(jì)同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù);
可以理解的是,CPU事件源中包括有多種事件類型的錯(cuò)誤事件文件,這里的統(tǒng)計(jì)方式是將各種事件類型對應(yīng)的錯(cuò)誤事件文件的個(gè)數(shù)分別進(jìn)行統(tǒng)計(jì)。
步驟s102:將在第一預(yù)設(shè)時(shí)間內(nèi)個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件;
步驟s103:根據(jù)故障格式文件判斷CPU的故障類型是否為緩存故障類型,如果是,刷新發(fā)生故障的緩存;
步驟s104:根據(jù)緩存刷新后生成的返回值,判斷是否成功刷新發(fā)生故障的緩存,如果否,控制CPU離線。
本發(fā)明提供了一種基于linux系統(tǒng)的CPU故障診斷處理方法,能夠通過主動對CPU事件源中的錯(cuò)誤事件文件進(jìn)行分析判斷來確定CPU是否發(fā)生了緩存故障,而不需要工作人員自行進(jìn)行分析,便利性高;且當(dāng)確定發(fā)生緩存類故障后,本發(fā)明能夠?qū)Πl(fā)生故障的緩存進(jìn)行刷新,若刷新失敗,則控制CPU離線,可見,本發(fā)明能夠根據(jù)故障類型來主動進(jìn)行相應(yīng)的處理,避免了計(jì)算機(jī)在故障情況下繼續(xù)運(yùn)行,進(jìn)而避免給用戶的工作生活帶來損失,安全性高。
實(shí)施例二
在實(shí)施例一的基礎(chǔ)上,本發(fā)明還提供了基于linux系統(tǒng)的CPU故障診斷處理方法,參見圖2所示,圖2為本發(fā)明提供的另一種基于linux系統(tǒng)的CPU故障診斷處理方法的過程的流程圖;
作為優(yōu)選地,該實(shí)施例中,步驟s101的過程具體為:
觸發(fā)第一計(jì)時(shí)器;
依次分析CPU事件源中的錯(cuò)誤事件文件的事件類型,將同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)記錄至對應(yīng)的計(jì)數(shù)器內(nèi)。
可以理解的是,由于CPU事件源中包括有多種事件類型的錯(cuò)誤事件文件,故計(jì)數(shù)器的個(gè)數(shù)應(yīng)與CPU事件源中可能出現(xiàn)的事件類型相匹配,并預(yù)先設(shè)定各個(gè)計(jì)數(shù)器分別與各種事件類型相對應(yīng)。
作為優(yōu)選地,該實(shí)施例中,步驟s102的過程具體為:
當(dāng)?shù)谝挥?jì)時(shí)器記錄的時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間時(shí),控制第一計(jì)時(shí)器停止計(jì)時(shí);
控制全部計(jì)數(shù)器停止計(jì)數(shù),獲取記錄個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器對應(yīng)的事件類型;
將獲取的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件。
可以理解的是,當(dāng)計(jì)數(shù)器的記錄個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)時(shí),表明發(fā)生該計(jì)數(shù)器對應(yīng)的事件類型的硬件位置很有可能出現(xiàn)了故障,需要進(jìn)行處理,而若計(jì)數(shù)器的記錄個(gè)數(shù)很少,未達(dá)到預(yù)設(shè)個(gè)數(shù),表明發(fā)生該計(jì)數(shù)器對應(yīng)的事件類型的硬件位置很可能并未發(fā)生故障,而僅是由于偶然因素引起了一些錯(cuò)誤,并不需要進(jìn)行處理。
其中,這里的第一預(yù)設(shè)時(shí)間為36小時(shí)~72小時(shí)。這里的預(yù)設(shè)個(gè)數(shù)為2~3。
作為優(yōu)選地,可以設(shè)置第一預(yù)設(shè)時(shí)間為72小時(shí),預(yù)設(shè)個(gè)數(shù)為3。
當(dāng)然,第一預(yù)設(shè)時(shí)間以及預(yù)設(shè)個(gè)數(shù)可根據(jù)試驗(yàn)結(jié)果以及經(jīng)驗(yàn)值得出,本發(fā)明不限定第一預(yù)設(shè)時(shí)間以及預(yù)設(shè)個(gè)數(shù)的數(shù)值大小。
步驟s103:根據(jù)故障格式文件判斷CPU的故障類型是否為緩存故障類型,如果是,刷新發(fā)生故障的緩存;
其中,這里的緩存故障類型包括普通緩存故障或TLB頁表緩存故障。普通緩存故障包括一級緩存故障、二級緩存故障、三級緩存故障等。當(dāng)然,普通緩存故障還可包含其他類型的緩存故障,本發(fā)明對此不作特別限定。
步驟s104:根據(jù)緩存刷新后生成的返回值,判斷是否成功刷新發(fā)生故障的緩存,如果否,控制CPU離線。
可以理解的是,若刷新成功,則表明此次故障處理結(jié)束,若刷新失敗,表明緩存發(fā)生的故障不是偶然故障,無法通過刷新來解決,故需要控制CPU離線,避免出現(xiàn)故障的緩存繼續(xù)工作。
與實(shí)施例一相比,本實(shí)施例具體限定了同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)統(tǒng)計(jì)過程,在持續(xù)第一預(yù)設(shè)時(shí)間后,根據(jù)計(jì)數(shù)器的記錄個(gè)數(shù)是否達(dá)到或超出預(yù)設(shè)個(gè)數(shù)來確定需要標(biāo)記哪些錯(cuò)誤事件文件。該方法簡便易行,且由于若CPU發(fā)生了故障,則故障部位在經(jīng)過第一預(yù)設(shè)時(shí)間后,基本均會生成達(dá)到或超過預(yù)設(shè)個(gè)數(shù)的錯(cuò)誤事件文件,故本實(shí)施例能夠保證將很可能發(fā)生了故障的硬件位置對應(yīng)的事件類型識別出來,并將該事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障事件文件進(jìn)行判斷處理,可靠性高。
實(shí)施例三
在實(shí)施例一的基礎(chǔ)上,本發(fā)明還提供了基于linux系統(tǒng)的CPU故障診斷處理方法,參見圖3所示,圖3為本發(fā)明提供的另一種基于linux系統(tǒng)的CPU故障診斷處理方法的過程的流程圖;
作為優(yōu)選地,該實(shí)施例中,步驟s101的過程具體為:
觸發(fā)第一計(jì)時(shí)器;
依次分析CPU事件源中的錯(cuò)誤事件文件的事件類型,將同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)記錄至對應(yīng)的計(jì)數(shù)器內(nèi)。
作為優(yōu)選地,該實(shí)施例中,步驟s102的過程具體為:
當(dāng)?shù)谝挥?jì)時(shí)器記錄的時(shí)間未超出第一預(yù)設(shè)時(shí)間時(shí),若有計(jì)數(shù)器的記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù),獲取記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器對應(yīng)的事件類型,并控制記錄個(gè)數(shù)達(dá)到所述預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器停止計(jì)數(shù);
將獲取的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件。
可以理解的是,以上步驟即為,在第一計(jì)時(shí)器記錄的時(shí)間未超出第一預(yù)設(shè)時(shí)間時(shí),一旦出現(xiàn)計(jì)數(shù)器上的記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù),即控制該計(jì)數(shù)器停止計(jì)數(shù),并將與該計(jì)數(shù)器對應(yīng)的事件類型相同的錯(cuò)誤事件文件標(biāo)記為故障格式文件,然后對該故障格式文件進(jìn)行后續(xù)判斷處理操作,而不需要等到第一計(jì)時(shí)器記錄的時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間后,再將計(jì)數(shù)器的記錄個(gè)數(shù)與預(yù)設(shè)個(gè)數(shù)進(jìn)行比較。另外,在在第一計(jì)時(shí)器記錄的時(shí)間未超出第一預(yù)設(shè)時(shí)間的過程中,可能會有多個(gè)計(jì)數(shù)器的記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù),這種情況下,即將與各個(gè)計(jì)數(shù)器對應(yīng)的事件類型相同的錯(cuò)誤事件文件分別標(biāo)記為故障格式文件,然后分別對各個(gè)故障格式文件進(jìn)行后續(xù)判斷處理操作。
步驟s103:根據(jù)故障格式文件判斷CPU的故障類型是否為緩存故障類型,如果是,刷新發(fā)生故障的緩存;
步驟s104:根據(jù)緩存刷新后生成的返回值,判斷是否成功刷新發(fā)生故障的緩存,如果否,控制CPU離線。
另外,本實(shí)施例中的第一預(yù)設(shè)時(shí)間、預(yù)設(shè)個(gè)數(shù)以及第二預(yù)設(shè)時(shí)間優(yōu)選與實(shí)施例二中的數(shù)值相同,當(dāng)然,本實(shí)施例不限定第一預(yù)設(shè)時(shí)間、預(yù)設(shè)個(gè)數(shù)以及第二預(yù)設(shè)時(shí)間的具體數(shù)值,工作人員可根據(jù)實(shí)際情況自行決定。
與實(shí)施例一相比,本實(shí)施例具體限定了同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)統(tǒng)計(jì)過程,不僅能夠保證將很可能發(fā)生了故障的硬件位置對應(yīng)的事件類型識別出來,并將該事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障事件文件進(jìn)行判斷處理,并且本實(shí)施例不一定需要等到持續(xù)第一預(yù)設(shè)時(shí)間后再進(jìn)行后續(xù)判斷處理操作,而是只要計(jì)數(shù)器的記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù),即可進(jìn)行后續(xù)判斷處理操作,節(jié)省了故障診斷的時(shí)間,提高了效率。
另外,在實(shí)施例二和實(shí)施例三的基礎(chǔ)上,還可以增加如下操作:
當(dāng)CPU的故障類型不是緩存故障類型時(shí),生成一個(gè)包括故障格式文件內(nèi)容的輸出日志,并發(fā)送至顯示界面。
可以理解的是,由于輸出日志內(nèi)包括故障格式文件的內(nèi)容,可便于工作人員對未進(jìn)行處理的故障進(jìn)行了解,進(jìn)而進(jìn)行處理,提高了故障處理的可靠性。
作為優(yōu)選地,在實(shí)施例二和實(shí)施例三的基礎(chǔ)上,步驟s104之后還包括:
控制全部計(jì)數(shù)器清零,觸發(fā)第二計(jì)時(shí)器;
當(dāng)?shù)诙?jì)時(shí)器記錄的時(shí)間達(dá)到第二預(yù)設(shè)時(shí)間時(shí),控制第二計(jì)時(shí)器停止計(jì)時(shí),觸發(fā)全部計(jì)數(shù)器重新開始計(jì)數(shù),并重新進(jìn)行步驟s101。
其中,這里的第二預(yù)設(shè)時(shí)間可以為1s~10s,當(dāng)然,本發(fā)明不限定第二預(yù)設(shè)時(shí)間的數(shù)值,工作人員可根據(jù)實(shí)際情況自行決定。
可以理解的是,通過上述操作可實(shí)現(xiàn)按預(yù)設(shè)時(shí)間間隔重復(fù)進(jìn)行故障診斷處理,即每隔第二預(yù)設(shè)時(shí)間重復(fù)進(jìn)行一次CPU故障診斷處理,避免了一次故障處理不到位的情況出現(xiàn)(例如,可能會出現(xiàn)刷新成功但故障仍然存在的情況,該種情況下若進(jìn)行一次CPU故障診斷處理即不再繼續(xù)操作,故障會繼續(xù)存在于CPU內(nèi),影響CPU的正常使用),且能夠保證及時(shí)發(fā)現(xiàn)新增故障,可靠性以及安全性高。
本發(fā)明還提供了一種基于linux系統(tǒng)的CPU故障診斷處理系統(tǒng),參見圖4所示,圖4為本發(fā)明提供的一種基于linux系統(tǒng)的CPU故障診斷處理系統(tǒng)的結(jié)構(gòu)示意圖。該系統(tǒng)包括:
統(tǒng)計(jì)模塊11,分析CPU事件源中的錯(cuò)誤事件文件的事件類型,統(tǒng)計(jì)同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù);
故障標(biāo)記模塊12,用于將第一預(yù)設(shè)時(shí)間內(nèi)個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件;
判斷模塊13,用于根據(jù)故障格式文件判斷CPU的故障類型是否為緩存故障類型,如果是,觸發(fā)緩存刷新模塊14;
作為優(yōu)選地,該系統(tǒng)還包括:
日志生成模塊,用于生成一個(gè)包括故障格式文件內(nèi)容的輸出日志,并發(fā)送至顯示界面。其中,當(dāng)判斷模塊13判斷CPU的故障類型不為緩存故障類型時(shí)觸發(fā)日志生成模塊。
緩存刷新模塊14,用于刷新發(fā)生故障的緩存;
刷新判斷模塊15,用于根據(jù)緩存刷新后生成的返回值,判斷是否成功刷新發(fā)生故障的緩存,如果否,控制CPU離線。
其中,統(tǒng)計(jì)模塊11具體包括:
第一計(jì)時(shí)觸發(fā)模塊,用于觸發(fā)第一計(jì)時(shí)器;
計(jì)數(shù)控制模塊,用于依次分析CPU事件源中的錯(cuò)誤事件文件的事件類型,將同一事件類型的錯(cuò)誤事件文件的個(gè)數(shù)記錄至對應(yīng)的計(jì)數(shù)器內(nèi)。
在具體的實(shí)施例中,故障標(biāo)記模塊12具體包括:
第一計(jì)時(shí)停止模塊,用于當(dāng)?shù)谝挥?jì)時(shí)器記錄的時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間時(shí),控制第一計(jì)時(shí)器停止計(jì)時(shí);
第一事件類型獲取模塊,用于控制全部計(jì)數(shù)器停止計(jì)數(shù),獲取記錄個(gè)數(shù)達(dá)到或超出預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器對應(yīng)的事件類型;
第一標(biāo)記確定模塊,用于將獲取的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件。
在另一種具體實(shí)施例中,故障標(biāo)記模塊12具體包括:
第二事件類型獲取模塊,用于當(dāng)?shù)谝挥?jì)時(shí)器記錄的時(shí)間未超出第一預(yù)設(shè)時(shí)間時(shí),若有計(jì)數(shù)器的記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù),獲取記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器對應(yīng)的事件類型,并觸發(fā)計(jì)數(shù)停止模塊;
計(jì)數(shù)停止模塊,用于控制記錄個(gè)數(shù)達(dá)到預(yù)設(shè)個(gè)數(shù)的計(jì)數(shù)器停止計(jì)數(shù);
第二標(biāo)記確定模塊,用于將獲取的事件類型對應(yīng)的錯(cuò)誤事件文件標(biāo)記為故障格式文件。
作為優(yōu)選地,該系統(tǒng)還包括:
計(jì)數(shù)清零模塊,用于控制全部計(jì)數(shù)器清零;
第二計(jì)時(shí)觸發(fā)模塊,用于觸發(fā)第二計(jì)時(shí)器;
第二計(jì)時(shí)停止模塊,用于當(dāng)?shù)诙?jì)時(shí)器記錄的時(shí)間達(dá)到第二預(yù)設(shè)時(shí)間時(shí),控制第二計(jì)時(shí)器停止計(jì)時(shí),并觸發(fā)計(jì)數(shù)觸發(fā)模塊;
計(jì)數(shù)觸發(fā)模塊,用于觸發(fā)全部計(jì)數(shù)器重新開始計(jì)數(shù),并重新觸發(fā)統(tǒng)計(jì)模塊11。
其中,計(jì)數(shù)清零模塊受到刷新判斷模塊15的觸發(fā),當(dāng)刷新判斷模塊15控制CPU離線或判斷刷新成功后,刷新判斷模塊15觸發(fā)計(jì)數(shù)清零模塊啟動。
本發(fā)明提供了一種基于linux系統(tǒng)的CPU故障診斷處理系統(tǒng),能夠通過主動對CPU事件源中的錯(cuò)誤事件文件進(jìn)行分析判斷來確定CPU是否發(fā)生了緩存故障,而不需要工作人員自行進(jìn)行分析,便利性高;且當(dāng)確定發(fā)生緩存類故障后,本發(fā)明能夠?qū)Πl(fā)生故障的緩存進(jìn)行刷新,若刷新失敗,則控制CPU離線,可見,本發(fā)明能夠根據(jù)故障類型來主動進(jìn)行相應(yīng)的處理,避免了計(jì)算機(jī)在故障情況下繼續(xù)運(yùn)行,進(jìn)而避免給用戶的工作生活帶來損失,安全性高。
需要說明的是,在本說明書中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。