一種基于linux的服務(wù)器C-state狀態(tài)檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明公開一種服務(wù)器c-state狀態(tài)檢測方法,屬于通信技術(shù)測試領(lǐng)域,具體地說是一種基于linux的服務(wù)器C-state狀態(tài)檢測方法。
【背景技術(shù)】
[0002]隨著IT領(lǐng)域技術(shù)的不斷發(fā)展,傳統(tǒng)信息化服務(wù)以及日趨強大的云計算服務(wù)對服務(wù)器的需求越來越復(fù)雜。服務(wù)器產(chǎn)品能耗問題也越來越受到關(guān)注。Intel C-State Tech是一種基于Intel組件基礎(chǔ)上的深度節(jié)能技術(shù)。其具有獨立的控制標準,具體的控制由B1S來定。操作系統(tǒng)運行到耗能高,或CPU的使用頻率高等時候此項功能可對能耗和CPU核心進行適當?shù)恼{(diào)節(jié),以達到節(jié)約能耗的目的。
[0003]但由于這一技術(shù)是基于Intel組件,可能于其它的配件產(chǎn)生沖突,產(chǎn)生錯誤狀態(tài),從而在系統(tǒng)執(zhí)行C-State狀態(tài)時,有時出現(xiàn)死機,藍屏、黑屏,鍵鼠沒響應(yīng)等不穩(wěn)定的情況,只有關(guān)閉C-State狀態(tài)后才能恢復(fù)正常。上述情況的主要原因還在該C-State功能對內(nèi)存的要求非常高,內(nèi)存本身的體質(zhì)較差,幾乎都會出現(xiàn)死機的故障。
[0004]本發(fā)明提供一種基于linux的服務(wù)器C-state狀態(tài)檢測方法,安裝系統(tǒng),配置系統(tǒng)參數(shù);利用檢測工具;運行自動化檢測腳本;檢查測試結(jié)果;該方法可以檢驗服務(wù)器中C-state的狀態(tài)是否正確,相應(yīng)的功能是否實現(xiàn),并可以根據(jù)不同的需求,有針對性的進行相應(yīng)的自動化配置;可以批量執(zhí)行,用于服務(wù)器生產(chǎn)的自動化檢測。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對現(xiàn)有技術(shù)中的問題,提供一種基于linux的服務(wù)器C-state狀態(tài)檢測方法,該方法可以檢驗服務(wù)器中C-state的狀態(tài)是否正確,相應(yīng)的功能是否實現(xiàn),并可以根據(jù)不同的需求,有針對性的進行相應(yīng)的自動化配置;可以批量執(zhí)行,用于服務(wù)器生產(chǎn)的自動化檢測。
[0006]本發(fā)明提出的具體方案是:
一種基于linux的服務(wù)器C-state狀態(tài)檢測方法,基于linux內(nèi)核的操作系統(tǒng)服務(wù)器配置系統(tǒng)參數(shù)及調(diào)整相關(guān)的系統(tǒng)狀態(tài);安裝C-state狀態(tài)節(jié)能評估測試工具,并拷貝相關(guān)腳本到系統(tǒng)中;運行自動化檢測腳本,執(zhí)行檢測腳本后輸出測試結(jié)果;查看檢測結(jié)果。
[0007]運行自動化檢測腳本時,對C-state狀態(tài)功能進行評測,若功能評測輸出測試結(jié)果正常,則根據(jù)需求調(diào)整C-state狀態(tài)功能的參數(shù)配置。
[0008]運行自動化檢測腳本時,對C-state狀態(tài)功能進行評測,若功能評測輸出測試結(jié)果不正常,則進行排查機器故障原因的操作。
[0009]根據(jù)需求設(shè)置相關(guān)的C-state節(jié)能選項的設(shè)置,對高耗能低沖突組件設(shè)置高節(jié)能配置,高耗能高沖突組件設(shè)置低節(jié)能配置,低耗能低沖突組件設(shè)置高節(jié)能配置,低耗能高沖突組件設(shè)置低節(jié)能配置。
[0010]調(diào)整相關(guān)的系統(tǒng)狀態(tài)過程為:啟動相關(guān)的服務(wù),檢測服務(wù)運行狀態(tài),設(shè)置開機自動運行,檢測程序運行狀態(tài),返回工作狀態(tài)情況。
[0011]支持多種操作系統(tǒng):redhat、centos、suse、ubuntu在linux系統(tǒng)上運行應(yīng)用。
[0012]本發(fā)明的有益之處是:
本發(fā)明提供一種基于linux的服務(wù)器C-state狀態(tài)檢測方法,安裝系統(tǒng),配置系統(tǒng)參數(shù);利用檢測工具;運行自動化檢測腳本;檢查測試結(jié)果;該方法可以檢驗服務(wù)器中C-state的狀態(tài)是否正確,相應(yīng)的功能是否實現(xiàn),可在不同的服務(wù)器產(chǎn)品之間進行檢測,可以支持多種操作系統(tǒng):redhat、centos、suse、ubuntu等linux系統(tǒng)上運行應(yīng)用;該方法操作簡便,具有較好的易用性;程序中各模塊之間結(jié)構(gòu)清晰,便于維護;并可以通過這個方法,發(fā)現(xiàn)服務(wù)器上節(jié)能功能是否存在問題,并進行相應(yīng)的調(diào)整,排除節(jié)能功能對客戶應(yīng)用的具體影響;本發(fā)明可以借用Shell腳本編寫,可以長時間的自動執(zhí)行,不要人工手動的執(zhí)行,實用性強,適用范圍廣泛,易于推廣。
【附圖說明】
[0013]圖1本發(fā)明的方法流程示意圖。
【具體實施方式】
[0014]—種基于linux的服務(wù)器C-state狀態(tài)檢測方法,基于linux內(nèi)核的操作系統(tǒng)服務(wù)器配置系統(tǒng)參數(shù)及調(diào)整相關(guān)的系統(tǒng)狀態(tài);安裝C-state狀態(tài)節(jié)能評估測試工具,并拷貝相關(guān)腳本到系統(tǒng)中;運行自動化檢測腳本,執(zhí)行檢測腳本后輸出測試結(jié)果;查看檢測結(jié)果。
[0015]根據(jù)上述方法,結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
[0016]被測平臺搭建完成,相關(guān)的硬件設(shè)備就已經(jīng)固定下來;通過這個方法可以先對整機技能功能進行評估,以確保整機的節(jié)能功能對實際的應(yīng)用不造成影響;
1)搭被測環(huán)境
將機器的所有部件安裝好,并連接好所有的線纜等;將機器上電,檢查是否可以正常開機有顯示,機器上設(shè)備均被正常檢測到;
2)安裝操作系統(tǒng)并配置系統(tǒng)下參數(shù)
根據(jù)不同的應(yīng)用場景,安裝不同的操作系統(tǒng),此方法支持RHEL、Centos、SUSE, ubuntu系列的OS ;將系統(tǒng)完全安裝,系統(tǒng)安裝完成后,調(diào)整相關(guān)系統(tǒng)的狀態(tài);
啟動相關(guān)的服務(wù):service ipmi start
檢測服務(wù)運行狀態(tài):service ipmi status
設(shè)置開機自動運行:chkconfig ipmi on
檢測程序運行狀態(tài):ipmitool raw 0x3e 0x21 0x17 0x00 0x01
返回01 01表示工作正常。
[0017]3)安裝節(jié)能評估工具并拷貝評估工具
A、建立上傳文件夾 mkdir /opt/c-state
B、安裝測試工具
cp cpupower.rpm /opt/c-staterpm -1vh /opt/c-state/cpupower.rpmC、上傳評估工具
cp c-state.sh set—c—state, sh result, sh testname.txt /opt/c-state
4)執(zhí)行性能評估命令
sh /opt/c-state.sh
testname.txt 內(nèi)容
C3
c-state.sh 內(nèi)容#!/bin/bashsleep 30
funct1n GET—SET—C3()
{
echo 〃Set CPU—C3—report Enable,, >> /root/c-state-result-c3.txtecho 〃Set CPU—C6—report Disable,, >> /root/c-state-result-c3.txtipmitool raw 0x3e 0x20 0x17 0x00 0x01ipmitool raw 0x3e 0x20 0x18 0x00 0x00
}
funct1n GET—SET—C6()
{
echo 〃Set CPU—C3—report Disable,, >> /root/c-state-result-c6.txtecho 〃Set CPU—C6—report Enable,, >> /root/c-state-result-c6.txtipmitool raw 0x3e 0x20 0x17 0x00 0x00ipmitool raw 0x3e 0x20 0x18 0x00 0x01
}
funct1n GET_SET—Mwait()
{
echo 〃Set CPU—C3—report Disable,, >> /root/c-state-result-Mwait.txtecho 〃Set CPU—C6—report Disable,, >> /root/c-state-result-Mwait.txtecho 〃Set Monitor/Mwait—Support Disable,, >> /root/c-state-result-Mwait.txtipmitool raw 0x3e 0x20 0x17 0x00 0x00ipmitool raw 0x3e 0x20 0x18 0x00 0x00ipmitool raw 0x