本發(fā)明涉及操作系統(tǒng)異常定位領(lǐng)域,具體提供一種快速定位導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題的方法。
背景技術(shù):
::1、隨著國產(chǎn)操作系統(tǒng)的不斷發(fā)展,應(yīng)用的場景也越來越多,但是國產(chǎn)操作系統(tǒng)在適配各行業(yè)特殊定制化硬件設(shè)備的過程中,經(jīng)常遇到操作系統(tǒng)異常的問題,如重啟偶現(xiàn)性崩潰、系統(tǒng)運行過程中偶現(xiàn)性崩潰等。這些問題往往需要協(xié)調(diào)多領(lǐng)域資深工程師共同研討,花費大量時間才能解決該問題。2、當前沒有一種技術(shù)能夠通過較少的工程師快速在操作系統(tǒng)層面定位出偶現(xiàn)性崩潰或偶現(xiàn)性異常的具體問題,相應(yīng)地,本領(lǐng)域需要一種快速定位系統(tǒng)異常問題的方案來解決上述問題。技術(shù)實現(xiàn)思路1、為了克服上述缺陷,提出了本發(fā)明,以提供解決現(xiàn)有技術(shù)中無法快速在操作系統(tǒng)定位偶現(xiàn)性崩潰或偶現(xiàn)性異常的技術(shù)問題。2、本發(fā)明提出一種快速定位導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題的方法,依次執(zhí)行以下步驟s1-s6,直到確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題,3、s1:通過判斷是否存在磁盤異常、內(nèi)存條異常、網(wǎng)卡異?;騝pu內(nèi)部看門狗異常來確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是否為硬件問題;4、s2:通過關(guān)注/proc/interrupts內(nèi)容中是否有快速增長的中斷數(shù)量來確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是否為中斷增長異常問題;5、s3:通過top觀察是否存在持續(xù)高負載情況來確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是否為cpu負載異常問題;6、s4:通過關(guān)注free命令中“可用內(nèi)存”部分數(shù)值是否會持續(xù)降低來確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是否為內(nèi)存分配異常問題;7、s5:通過判斷是否存在持續(xù)寫入磁盤或是否存在超大文件、文件夾的情況來確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是否為磁盤負載異常問題;8、s6:通過判斷是否存在長期網(wǎng)絡(luò)流量較高或是否存在端口及socket迅速增長的情況來確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是否為網(wǎng)絡(luò)負載異常問題。9、進一步,所述步驟s1包括:10、當存在磁盤異常、內(nèi)存條異常、網(wǎng)卡異常和cpu內(nèi)部看門狗異常中的任一異常時,確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題為硬件問題,否則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題不是硬件問題;其中,11、通過更換磁盤,觀察操作系統(tǒng)異常是否解決,若是,則存在磁盤異常,若否,則不存在磁盤異常;12、通過更換內(nèi)存條,觀察操作系統(tǒng)異常是否解決,若是,則存在內(nèi)存條異常,若否,則不存在內(nèi)存條異常;13、通過更換網(wǎng)卡,觀察操作系統(tǒng)異常是否解決,若是,則存在網(wǎng)卡異常,若否,則不存在網(wǎng)卡異常;14、通過打開cpu內(nèi)部看門狗,觀察當出現(xiàn)操作系統(tǒng)異常時,是否引起設(shè)備重啟,若是,則不存在cpu內(nèi)部看門狗異常,若否,則存在cpu內(nèi)部看門狗異常。15、進一步,所述步驟s2包括:16、s21:查看是否開啟irqbalance服務(wù):若是,則直接執(zhí)行s23,若否,則記錄串口中斷所在的cpu編號,并執(zhí)行步驟s22;17、s22:判斷操作系統(tǒng)異常時使用的cpu編號是否與串口中斷所在的cpu編號相匹配:若是,則切換串口中斷所在的cpu編號后執(zhí)行s23,若否,則直接執(zhí)行s23;18、s23:判斷/proc/interrupts內(nèi)容在預(yù)設(shè)時間內(nèi)是否存在快速增長的中斷數(shù)量:若是,則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是中斷增長異常問題,根據(jù)中斷處理函數(shù)名稱從內(nèi)核源碼中找到設(shè)備驅(qū)動位置,若否,則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題不是中斷增長異常問題。19、進一步,所述步驟s3包括:20、通過top觀察是否存在持續(xù)高負載情況:21、若是,則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題是cpu負載異常問題,記錄占用cpu最高的進程號,并對所述進程號對應(yīng)的程序,使用ltrace分析動態(tài)庫調(diào)用時間消耗,使用strace分析系統(tǒng)調(diào)用時間消耗,使用perf分析內(nèi)核時間消耗,22、若否,則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題不是cpu負載異常問題。23、進一步,所述步驟s4包括:24、通過free命令查看“可用內(nèi)存”部分數(shù)值,判斷在預(yù)設(shè)時間內(nèi)是否持續(xù)降低,若是,則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題為內(nèi)存分配異常問題,否則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題不是內(nèi)存分配異常問題。25、進一步,當導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題為內(nèi)存分配異常問題時,判斷是內(nèi)核slab異常還是應(yīng)用內(nèi)存泄漏異常;其中,26、通過判斷/proc/meminfo中的slab?在預(yù)設(shè)時間內(nèi)是否會持續(xù)增長:若是,則存在內(nèi)核slab異常,觀察/proc/slabinfo,通過增加kasan參數(shù),查看持續(xù)增長的slab的分配路徑,若否,則不存在內(nèi)核slab異常;27、通過判斷/proc/meminfo中的memavailable?在預(yù)設(shè)時間內(nèi)是否會持續(xù)降低來確定是否存在應(yīng)用內(nèi)存泄漏:若是,則存在應(yīng)用內(nèi)存泄漏,遍歷/proc下每一個進程的status,確定存在內(nèi)存泄漏的進程為在預(yù)設(shè)時間內(nèi)存在持續(xù)增長的vmsize與vmrss,若否,則應(yīng)用不存在內(nèi)存泄漏。28、進一步,所述步驟s5包括:29、當存在持續(xù)寫入和超大文件或文件夾中的任一異常時,確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題為磁盤負載異常問題,否則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題不是磁盤負載異常問題;其中,30、通過判斷iotop在預(yù)設(shè)時間內(nèi)是否存在持續(xù)寫入磁盤的情況:若是,則存在持續(xù)寫入異常,通過iotop得到進程號,獲取所述進程號對應(yīng)的應(yīng)用以及與所述應(yīng)用有密切聯(lián)系的應(yīng)用,分析所有相關(guān)應(yīng)用的程序源碼,確定程序源碼存在邏輯問題的應(yīng)用為引起持續(xù)寫入磁盤異常的原因,若否,則不存在持續(xù)寫入異常;31、通過find或du判斷磁盤io中是否存在超大文件或文件夾:若是,則存在超大文件或文件夾異常,通過包管理命令查找當前超大文件或文件夾所屬的軟件包,或通過lsof查看超大文件被執(zhí)行的進程,獲取所述軟件包或進程對應(yīng)的應(yīng)用以及與所述應(yīng)用有密切聯(lián)系的應(yīng)用,分析所有相關(guān)應(yīng)用的程序源碼,確定程序源碼存在邏輯問題的應(yīng)用為引起超大文件或文件夾異常的原因,若否,則不存在超大文件或文件夾異常。32、進一步,所述步驟s6包括:33、當存在網(wǎng)絡(luò)流量和端口數(shù)量中的任一異常時,確定導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題為網(wǎng)絡(luò)負載異常問題,否則導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的問題不是網(wǎng)絡(luò)負載異常問題;其中,34、通過判斷iftop?在預(yù)設(shè)時間內(nèi)是否存在網(wǎng)絡(luò)流量較高情況:若是,則存在網(wǎng)絡(luò)流量異常,記錄網(wǎng)絡(luò)目的ip、目的端口、源ip、源端口和網(wǎng)絡(luò)協(xié)議類型,通過netstat命令找到對應(yīng)網(wǎng)絡(luò)連接的服務(wù)名稱,若否,則不存在網(wǎng)絡(luò)流量異常;35、通過判斷iftop?netstat在預(yù)設(shè)時間內(nèi)是否存在端口及socket迅速增長的情況:若是,則存在端口數(shù)量異常,通過iptables進行網(wǎng)絡(luò)強化,若否,則不存在端口數(shù)量異常。36、本發(fā)明的工作原理和有益效果為:37、在實施本發(fā)明的技術(shù)方案中,依次對常用硬件、中斷增長異常、cpu負載異常、內(nèi)存分配異常、磁盤負載異常、網(wǎng)絡(luò)負載異常六個方向進行異常問題檢測,定位出導(dǎo)致操作系統(tǒng)偶現(xiàn)性故障的具體問題歸屬。使工程師快速將偶現(xiàn)性故障定位到具體問題上,大大降低操作系統(tǒng)在硬件適配過程中的人員投入成本。當前第1頁12當前第1頁12