本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種監(jiān)控CPU核心頻率的方法及裝置。
背景技術(shù):
服務(wù)器作為一種具有高性能及高穩(wěn)定性的計算機,一般用于運行企業(yè)或事業(yè)單位的關(guān)鍵業(yè)務(wù)。中央處理器(CPU,Central Processing Unit)作為服務(wù)器的運算核心和控制核心,其性能直接影響服務(wù)器的性能,而每個CPU一般具有多個核心,核心的頻率影響了CPU的數(shù)據(jù)處理速度。為了保證服務(wù)器能夠以較高的性能穩(wěn)定運行,需要對服務(wù)器進行性能測試和壓力測試,服務(wù)器CPU核心的頻率變化是服務(wù)器性能測試及壓力測試過程中重要指標。
目前,在對服務(wù)器進行性能測試和壓力測試的過程中,針對于任意一個CPU,抓取該CPU中所有核心的頻率最大值作為該CPU的核心頻率。
針對于目前對CPU核心頻率進行監(jiān)控的方法,由于一個CPU包括有多個核心,以頻率最大的一個核心的頻率值作為該CPU的核心頻率,該CPU核心頻率不能代表該CPU的實際工作情況,根據(jù)該CPU核心頻率來對服務(wù)器的性能進行評價,導致服務(wù)器對服務(wù)器性能進行評價的準確性較低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的方法及裝置,能夠提高對服務(wù)器性能進行評價的準確性。
本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的方法,包括:
獲取至少一個CPU的第一物理地址,其中每一個所述CPU包括至少一個核心;
針對于每一個所述CPU,根據(jù)該CPU的第一物理地址,獲取該CPU包括的各個核心的第二物理地址;
每經(jīng)過一個預設(shè)的間隔時間,根據(jù)各個所述核心的第二物理地址,分別獲取每一個所述核心的頻率;
根據(jù)各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表,并將所述頻率狀態(tài)表輸出。
優(yōu)選地,
在所述獲取該CPU包括的各個核心的第二物理地址之后進一步包括:
每經(jīng)過一個所述間隔時間,針對于每一個所述CPU,根據(jù)該CPU包括的各個所述核心的第二物理地址,分別獲取該CPU包括的各個所述核心的使用率和空閑率;
針對于每一個所述CPU,根據(jù)該CPU包括的各個所述核心的使用率及空閑率,通過如下公式一計算該CPU的利用率并輸出;
所述公式一為:
其中,所述γ為所述CPU的利用率,所述Mi為所述CPU中第i個核心的使用率,所述Ni為所述CPU中第i個核心的空閑率,所述n為所述CPU中包括的核心個數(shù)。
優(yōu)選地,
在所述分別獲取每一個所述核心的頻率之后進一步包括:
針對于每一個所述核心,根據(jù)每一次獲取到的所述頻率以及對應(yīng)的獲取時間,形成對應(yīng)于各個所述核心的頻率變化日志。
優(yōu)選地,
所述分別獲取每一個所述核心的頻率包括:
通過shell腳本,分別獲取當前時間每一個所述核心的頻率。
優(yōu)選地,
所述根據(jù)各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表包括:
通過Python腳本,根據(jù)各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表。
本發(fā)明實施例還提供了一種監(jiān)控CPU核心頻率的裝置,包括:第一獲取單元、第二獲取單元、頻率監(jiān)控單元及表格形成單元;
所述第一獲取單元,用于獲取至少一個CPU的第一物理地址,其中每一個所述CPU包括至少一個核心;
所述第二獲取單元,用于針對于每一個所述CPU,根據(jù)所述第一獲取單元獲取的該CPU的第一物理地址,獲取該CPU包括的各個核心的第二物理地址;
所述頻率監(jiān)控單元,用于每經(jīng)過一個預設(shè)的間隔時間,根據(jù)所述第二獲取單元獲取的各個所述核心的第二物理地址,分別獲取每一個所述核心的頻率;
所述表格形成單元,用于根據(jù)所述頻率監(jiān)控單元獲取的各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表,并將所述頻率狀態(tài)表輸出。
優(yōu)選地,該監(jiān)控CPU核心頻率的裝置進一步包括:第三獲取單元;
所述第三獲取單元,用于每經(jīng)過一個所述間隔時間,針對于每一個所述CPU,根據(jù)所述第二獲取單元獲取的該CPU包括的各個所述核心的第二物理地址,分別獲取該CPU包括的各個所述核心的使用率及空閑率;并針對于每一個所述CPU,根據(jù)該CPU包括的各個所述核心的使用率及空閑率,通過如下公式一計算該CPU的利用率并輸出;
所述公式一為:
其中,所述γ為所述CPU的利用率,所述Mi為所述CPU中第i個核心的使用率,所述Ni為所述CPU中第i個核心的空閑率,所述n為所述CPU中包括的核心個數(shù)。
優(yōu)選地,該監(jiān)控CPU核心頻率的裝置進一步包括:日志形成單元;
所述日志形成單元,用于針對于每一個所述核心,根據(jù)所述頻率監(jiān)控單元每一次獲取到的所述頻率以及對應(yīng)的獲取時間,形成對應(yīng)于各個所述核心的頻率變化日志。
優(yōu)選地,
所述頻率監(jiān)控單元,用于通過shell腳本,分別獲取當前時間每一個所述核心的頻率。
優(yōu)選地,
所述表格形成單元,用于通過Python腳本,根據(jù)各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表。
本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的方法及裝置,首先獲取CPU的物理地址,根據(jù)CPU的物理地址獲取CPU包括的各個核心的物理地址;每經(jīng)過預設(shè)的間隔時間,根據(jù)每一個核心的物理地址,獲取各個核心的頻率;根據(jù)各個核心的頻率,形成對應(yīng)于每一個核心的頻率狀態(tài)表,并將形成的頻率狀態(tài)表輸出。這樣,根據(jù)輸出的頻率狀態(tài)表,可以確定CPU在工作過程中各個核心的頻率變化情況,從而可以確定CPU的實際工作情況,根據(jù)各個核心的頻率對服務(wù)器的性能進行評價時,提高了對服務(wù)器性能進行評價的準確性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種監(jiān)控CPU核心頻率的方法流程圖;
圖2是本發(fā)明另一個實施例提供的一種監(jiān)控CPU核心頻率的方法流程圖;
圖3是本發(fā)明一個實施例提供的一種監(jiān)控CPU核心頻率的裝置所在設(shè)備的示意圖;
圖4是本發(fā)明一個實施例提供的一種監(jiān)控CPU核心頻率的裝置示意圖;
圖5是本發(fā)明另一個實施例提供的一種監(jiān)控CPU核心頻率的裝置示意圖;
圖6是本發(fā)明又一個實施例提供的一種監(jiān)控CPU核心頻率的裝置示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的方法,該方法可以包括以下步驟:
步驟101:獲取至少一個CPU的第一物理地址,其中每一個所述CPU包括至少一個核心;
步驟102:針對于每一個所述CPU,根據(jù)該CPU的第一物理地址,獲取該CPU包括的各個核心的第二物理地址;
步驟103:每經(jīng)過一個預設(shè)的間隔時間,根據(jù)各個所述核心的第二物理地址,分別獲取每一個所述核心的頻率;
步驟104:根據(jù)各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表,并將所述頻率狀態(tài)表輸出。
本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的方法,首先獲取CPU的物理地址,根據(jù)CPU的物理地址獲取CPU包括的各個核心的物理地址;每經(jīng)過預設(shè)的間隔時間,根據(jù)每一個核心的物理地址,獲取各個核心的頻率;根據(jù)各個核心的頻率,形成對應(yīng)于每一個核心的頻率狀態(tài)表,并將形成的頻率狀態(tài)表輸出。這樣,根據(jù)輸出的頻率狀態(tài)表,可以確定CPU在工作過程中各個核心的頻率變化情況,從而可以確定CPU的實際工作情況,根據(jù)各個核心的頻率對服務(wù)器的性能進行評價時,提高了對服務(wù)器性能進行評價的準確性。
在本發(fā)明一個實施例中,在獲取到CPU包括的各個核心的第二物理地址之后,每經(jīng)過一個間隔時間,針對于每一個CPU,根據(jù)該CPU包括的各個核心的第二物理地址,分別獲取該CPU包括的各個核心的使用率及空閑率;針對于每一個CPU,在獲取到該CPU包括的各個核心的使用率及空閑率后,根據(jù)該CPU包括的各個核心的使用率及空閑率確定該CPU的利用率并輸出。
其中,針對于任意一個CPU,根據(jù)該CPU包括的各個核心的使用率及空閑率,可以通過如下公式一計算該CPU的利用率;
所述公式一為:
其中,所述γ為CPU的利用率,Mi為CPU中第i個核心的使用率,Ni為CPU中第i個核心的空閑率,n為CPU中包括的核心的個數(shù)。
通過各個核心的使用率及空閑率計算CPU的利用率,將CPU的利用率與各個核心的使用率進行比較,可以判斷CPU中各個核心的運行狀況是否正常;將CPU的利用率作為另一個評價服務(wù)器性能的指標,提高對服務(wù)器性能進行評價的全面性及準確性。
在本發(fā)明一個實施例中,在獲取到CPU中每個核心的頻率之后,針對于每一個核心,根據(jù)每一次獲取到的頻率以及對應(yīng)的獲取時間,形成對應(yīng)于各個核心的頻率變化日志。這樣,通過日志的形式記錄CPU工作過程中各個核心的頻率變化情況,通過對頻率變化日志的分析,可以確定影響服務(wù)器性能提升及穩(wěn)定性的核心,以便對相應(yīng)的核心存在的缺陷進行消除,以提升服務(wù)器的質(zhì)量。
在本發(fā)明一個實施例中,在獲取核心的頻率時,可以通過shell腳本分別獲取當前時間每一個核心的頻率,其中shell腳本包括以下代碼:
cat/proc/cpuinfo|grep–i“cpu MHz”
由于shell的語法和結(jié)構(gòu)比較簡單,通過簡單的shell腳本便可以獲取各個核心的頻率,減少了編寫代碼的任務(wù)量;通過shell腳本可以保證獲取到的核心頻率的準確性,以準確反映服務(wù)器性能測試及壓力測試過程中CPU的工作情況。
在本發(fā)明一個實施例中,在根據(jù)核心頻率形成對應(yīng)于每一個核心的頻率狀態(tài)表時,可以通過Python腳本形成排版打印函數(shù),將CPU的物理地址、核心的物理地址及核心的頻率寫入一個頻率狀態(tài)表,具體地Python腳本可以包括以下代碼:
通過Python腳本形成的頻率狀態(tài)表,可以清晰的反應(yīng)確定CPU中確定核心的頻率,通過該頻率狀態(tài)表可以實時獲取每一個CPU中各個核心的頻率值,從而可以準確地確定CPU中每一個核心是否存在需要進行修復的設(shè)計缺陷,提高對服務(wù)器進行性能測試及壓力測試時測試結(jié)果的準確性。
下面以包括有兩個CPU的待測服務(wù)器為例,對本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法作進一步詳細說明,如圖2所示,該方法可以包括以下步驟:
步驟201:對待測服務(wù)器進行性能測試或壓力測試。
在本發(fā)明一個實施例中,為了保證服務(wù)器能夠以較高的性能穩(wěn)定地工作,需要對服務(wù)器進行性能測試及壓力測試,以檢測服務(wù)器的性能指標及大訪問量下的穩(wěn)定性。其中CPU的頻率是服務(wù)器性能測試及壓力測試過程中的重要指標,在檢測CPU的頻率時首先需要通過相應(yīng)的測試軟件對服務(wù)器進行訪問,開始對待測服務(wù)器進性能測試或壓力測試。
步驟202:獲取CPU的總數(shù)及每一個CPU的第一物理地址。
在本發(fā)明一個實施例中,在對待測服務(wù)器開始性能測試或壓力測試后,獲取待測服務(wù)器上CPU的總數(shù),并依次獲取各個CPU的物理地址。
例如,通過shell腳本獲取待測服務(wù)器上CPU的總數(shù),其中獲取CPU總數(shù)的shell腳本如下:
cpu_physical_number=`cat/proc/cpuinfo|grep–ic“physical”`
通過上述shell腳本獲取到待測服務(wù)器上包括有兩個CPU,分別為CPU1和CPU2,通過相應(yīng)的shell腳本分別獲取兩個CPU的物理地址,其中CPU1的物理地址為CPUID1,CPU2的物理地址為CPUID2。
步驟203:根據(jù)各個CPU的物理地址,獲取各個CPU包括的核心總數(shù)及各個核心的物理地址。
在本發(fā)明一個實施例中,在獲取到CPU的物理地址后,根據(jù)CPU的物理地址獲取該CPU包括的核心總數(shù),根據(jù)核心總數(shù)獲取各個核心的物理地址。
例如,在獲取到CPUID1和CPUID2后,根據(jù)CPUID1和CPUID2,通過獲取核心總數(shù)的shell腳本,分別獲取CPU1和CPU2包括的核心的總數(shù),其中獲取核心總數(shù)的shell腳本如下:
core_number=`cat/proc/cpuinfo|grep–i“cpucores”`
通過上述獲取核心總數(shù)的shell腳本,獲取到CPU1包括4個核心,CPU2包括2個核心,其中CPU1包括的4個核心分別為core1、core2、core3及core4,CPU2包括的兩個核心分別為core5和core6;
通過相應(yīng)地獲取核心物理地址的shell腳本,依次獲取core1至core6共6個核心的物理地址,其中core1的物理地址為coreID1,core2的物理地址為coreID2,core3的物理地址為coreID3,core4的物理地址為coreID4,core5的物理地址為coreID5,core6的物理地址為coreID6。
步驟204:每隔預設(shè)的間隔時間,獲取各個核心的頻率、使用率及空閑率。
在本發(fā)明一個實施例中,預先設(shè)定間隔時間,在對待測服務(wù)器進行性能測試或壓力測試的過程中,每經(jīng)過一個間隔時間,根據(jù)各個核心的物理地址,對各個核心的頻率、使用率及空閑率進行一次抓取。
例如,通過定義監(jiān)控器的Python函數(shù)對獲取核心頻率、使用率及空閑率的間隔時間進行定義,其中定義監(jiān)控器的Python函數(shù)如下:
通過上述定義監(jiān)控器的Python函數(shù)定義間隔時間為3秒鐘,沒經(jīng)過3秒鐘,通過如下抓取核心頻率的shell腳本對各個核心當前的頻率進行一次抓取,通過如下抓取核心使用率及空閑率的shell腳本對各個核心當前的使用率及空閑率進行一次抓取,其中,
抓取核心頻率的shell腳本為:
cat/proc/cpuinfo|grep–i“cpu MHz”
抓取核心使用率及空閑率的shell腳本為:
top|grep–i us
top|grep–isy
步驟205:根據(jù)各個核心的使用率及空閑率,計算各個CPU的利用率。
在本發(fā)明一個實施例中,在每一次后去到各個核心的使用率及空閑率之后,針對于每一個CPU,根據(jù)該CPU包括的各個核心的使用率及空閑率,通過如下公式一計算改CPU的利用率,
其中所述公式一為:
其中,所述γ為CPU的利用率,Mi為CPU中第i個核心的使用率,Ni為CPU中第i個核心的空閑率,n為CPU中包括的核心的個數(shù)。
例如,在一次對6個核心的使用率及空閑率進行抓取后,通過如下公式計算CPU1的利用率:
其中M1、M2、M3及M4分別為core1、core2、core3及core4的使用率,N1、N2、N3及N4分別為core1、core2、core3及core4的空閑率,γ1為CPU1的利用率;
通過如下公式計算CPU2的利用率:
其中M5及M6分別為core5及core6的使用率,N5及N6分別為core5及core6的空閑率,γ2為CPU2的利用率。
步驟206:根據(jù)各個核心的頻率及各個CPU的利用率,形成頻率狀態(tài)表并輸出。
在本發(fā)明一個實施例中,在獲取到各個核心的頻率,并計算出各個CPU的利用率后,通過相應(yīng)的排版打印Python腳本,對核心的頻率、核心的分布情況及CPU的利用率信息進行排版打印,形成頻率狀態(tài)后輸出。其中,排版打印Python腳本如下:
步驟207:根據(jù)每一次獲取到的核心頻率及對應(yīng)的獲取時間,形成對應(yīng)于各個核心的頻率變化日志。
在本發(fā)明一個實施例中,每一次對核心的頻率進行抓取后,通過相應(yīng)地日志存儲Python腳本,將抓取到的核心的頻率值以及抓取核心頻率的時間寫入預定設(shè)定的日志文件,形成反應(yīng)各個核心頻率隨時間變化的頻率變化日志,其中日志存儲Python腳本如下:
如圖3、圖4所示,本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的裝置。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實施例提供的監(jiān)控CPU核心頻率的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負責處理報文的轉(zhuǎn)發(fā)芯片等等。以軟件實現(xiàn)為例,如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。本實施例提供的監(jiān)控CPU核心頻率的裝置,包括:第一獲取單元301、第二獲取單元302、頻率監(jiān)控單元303及表格形成單元304;
所述第一獲取單元301,用于獲取至少一個CPU的第一物理地址,其中每一個所述CPU包括至少一個核心;
所述第二獲取單元302,用于針對于每一個所述CPU,根據(jù)所述第一獲取單元301獲取的該CPU的第一物理地址,獲取該CPU包括的各個核心的第二物理地址;
所述頻率監(jiān)控單元303,用于每經(jīng)過一個預設(shè)的間隔時間,根據(jù)所述第二獲取單元302獲取的各個所述核心的第二物理地址,分別獲取每一個所述核心的頻率;
所述表格形成單元304,用于根據(jù)所述頻率監(jiān)控單元303獲取的各個所述核心的頻率,形成對應(yīng)于每一個所述核心的頻率狀態(tài)表,并將所述頻率狀態(tài)表輸出。
本發(fā)明實施例提供了一種監(jiān)控CPU核心頻率的裝置,第一獲取單元在獲取各個CPU的第一物理地址后,第二獲取單元根據(jù)第一獲取單元獲取到的第一物理地址獲取CPU包括的各個核心的第二物理地址,頻率監(jiān)控單元根據(jù)核心的第二物理地址獲取每一個核心的頻率,表格形成單元根據(jù)頻率監(jiān)控單元獲取到的頻率形成頻率狀態(tài)表并輸出。在對服務(wù)器進行性能測試或壓力測試的過程中,根據(jù)表格形成單元輸出的頻率狀態(tài)表可以確定服務(wù)器上CPU包括的各個核心的頻率變化情況,從而可以確定CPU的實際工作情況,根據(jù)各個核心的頻率對服務(wù)器的性能進行評價時,提高了對服務(wù)器性能進行評價的準確性。
在本發(fā)明一個實施例中,如圖5所示,該監(jiān)控CPU核心頻率的裝置進一步包括:第三獲取單元501;
第三獲取單元501,用于每經(jīng)過一個預設(shè)的間隔時間,針對于每一個CPU,根據(jù)第二獲取單元402獲取的該CPU包括的各個核心的第二物理地址,分別獲取該CPU包括的各個核心的使用率及空閑率;并針對于每一個CPU,根據(jù)該CPU包括的各個核心的使用率及空閑率,確定該CPU的利用率并輸出。
在本發(fā)明一個實施例中,如圖6所示,該監(jiān)控CPU核心頻率的裝置進一步包括:日志形成單元601;
日志形成單元601,用于針對于每一個所述核心,根據(jù)頻率監(jiān)控單元403每一次獲取到的頻率以及對應(yīng)的獲取時間,形成對應(yīng)于各個核心的頻率變化日志。
在本發(fā)明一個實施例中,如圖4至圖6所示,頻率監(jiān)控單元403用于通過shell腳本,分別獲取當前時間每一個核心的頻率,其中shell腳本包括:
cat/proc/cpuinfo|grep–i“cpu MHz”
在本發(fā)明一個實施例中,如圖4至圖6所示,表格形成單元404用于通過Python腳本,根據(jù)各個核心的頻率,形成對應(yīng)于每一個核心的頻率狀態(tài)表,其中Python腳本包括:
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法及裝置,至少具有如下有益效果:
1、在本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法及裝置中,首先獲取CPU的物理地址,根據(jù)CPU的物理地址獲取CPU包括的各個核心的物理地址;每經(jīng)過預設(shè)的間隔時間,根據(jù)每一個核心的物理地址,獲取各個核心的頻率;根據(jù)各個核心的頻率,形成對應(yīng)于每一個核心的頻率狀態(tài)表,并將形成的頻率狀態(tài)表輸出。這樣,根據(jù)輸出的頻率狀態(tài)表,可以確定CPU在工作過程中各個核心的頻率變化情況,從而可以確定CPU的實際工作情況,根據(jù)各個核心的頻率對服務(wù)器的性能進行評價時,提高了對服務(wù)器性能進行評價的準確性。
2、在本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法及裝置中,針對于同一個CPU,根據(jù)該CPU包括的各個核心的使用率及空閑率計算該CPU的利用率,最終將該CPU的利用率及該CPU包括的各個核心的頻率一起輸出,通過將CPU的利用率與各個核心的使用率進行比較,可以判斷CPU中各個核心的運行狀況是否正常;將CPU的利用率作為另一個評價服務(wù)器性能的指標,提高對服務(wù)器性能進行評價的全面性及準確性。
3、在本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法及裝置中,可以通過shell腳本獲取CPU物理地址、核心物理地址、核心頻率及核心使用率和空閑率時,由于shell的語法和結(jié)構(gòu)比較簡單,通過shell腳本抓取上述信息,可以減少編寫代碼的任務(wù)量;另外,通過shell腳本可以準確的抓取核心的頻率,以保證能夠準確地反映服務(wù)器性能測試及壓力測試過程中CPU的工作情況。
4、在本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法及裝置中,可以通過Python腳本對獲取到的CPU物理地址、核心物理地址及核心的頻率進行排版打印,將CPU物理地址、核心物理地址及核心的頻率寫入一個頻率狀態(tài)表。通過Python腳本形成的頻率狀態(tài)表,可以清晰的反應(yīng)確定CPU中確定核心的頻率,通過該頻率狀態(tài)表可以實時獲取每一個CPU中各個核心的頻率值,從而可以準確地確定CPU中每一個核心是否存在需要進行修復的設(shè)計缺陷,提高對服務(wù)器進行性能測試及壓力測試時測試結(jié)果的準確性。
5、在本發(fā)明實施例提供的監(jiān)控CPU核心頻率的方法及裝置中,在獲取到的核心的頻率后,將獲取到的頻率值及獲取的時間寫入預先創(chuàng)建的日志文件,形成頻率變化日志,通過日志的形式記錄CPU工作過程中各個核心的頻率變化情況,通過對頻率變化日志的分析,可以確定影響服務(wù)器性能提升及穩(wěn)定性的核心,以便對相應(yīng)的核心存在的缺陷進行消除,以提升服務(wù)器的質(zhì)量。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。