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

一種CPU占用率的統(tǒng)計方法及裝置與流程

文檔序號:11199110閱讀:1233來源:國知局
一種CPU占用率的統(tǒng)計方法及裝置與流程
本發(fā)明涉及計算機技術(shù),特別涉及一種cpu占用率的統(tǒng)計方法及裝置。
背景技術(shù)
:多核處理器技術(shù)是cpu設(shè)計中的一項先進技術(shù)。它是指在一枚處理器芯片中集成至少兩個完整的計算引擎(又稱內(nèi)核、硬核)核集成在一塊芯片上,以增強計算性能。計算機通過在多個cpu硬核之間分配工作負荷,并且依靠與內(nèi)存和輸入輸出(i/o)的高速片互聯(lián)和高帶寬管道。對系統(tǒng)性能進行提升。多核處理器,較之當(dāng)前的單核處理器,能帶來更多的性能和生產(chǎn)力優(yōu)勢,因而最終將成為一種廣泛普及的計算模式。在采用多核處理器的操作系統(tǒng)中,為了在多個cpu硬核之間實現(xiàn)性能均衡,需要實時地掌握各個cpu硬核的cpu占用率。以linux系統(tǒng)為例。在linux系統(tǒng)中,可以用/proc/stat文件來計算各個cpu硬核的cpu占用率。這個文件包含了所有cpu硬核活動的信息,該文件中記錄有時間元素信息,時間元素信息中涉及的每一種時間參數(shù)的取值都是從系統(tǒng)啟動開始累計到當(dāng)前時刻。具體的,上述文件中記錄的時間元素信息如表1所示:表1usernicesystemidleiowaitirqsoftirqstealstealstealcpu1406030181785886783047000cpu0630138743710019000cpu1408474508311000cpu21701474555800000…………………………………………………………如表1所示,cpu、cpu0、cpu1、cpu2分別表示各個cpu硬核(以下均 簡稱硬核)的cpu占用率的平均值,以及硬核0、硬核1和硬核2的cpu占用率,其中,以cpu這一行為例,介紹時間元素信息中每一種時間參數(shù)的含義如下:user(如,1406):從系統(tǒng)啟動開始累計到當(dāng)前時刻,用戶態(tài)的cpu時間(單位:jiffies)。1jiffies=0.01秒;nice(如,0):從系統(tǒng)啟動開始累計到當(dāng)前時刻,系統(tǒng)調(diào)整進程優(yōu)先級所花費的cpu時間(單位:jiffies);system(如,3018):從系統(tǒng)啟動開始累計到當(dāng)前時刻,內(nèi)核運行時間(單位:jiffies);idle(如,1785886);從系統(tǒng)啟動開始累計到當(dāng)前時刻,除硬盤io等待時間以外其它等待時間(單位:jiffies);iowait(如,78):從系統(tǒng)啟動開始累計到當(dāng)前時刻,硬盤io等待時間(單位:jiffies);irq(如,30):從系統(tǒng)啟動開始累計到當(dāng)前時刻,硬中斷時間(單位:jiffies);softirq(如,47):從系統(tǒng)啟動開始累計到當(dāng)前時刻,軟中斷時間(單位:jiffies);steal(如,0):從系統(tǒng)啟動開始累計到當(dāng)前時刻,丟失時間(單位:jiffies)?;谏鲜鲂畔?,可以采用以下方法計算操作系統(tǒng)中任意一個硬核的cpu占用率:以硬核0為例,先選取兩個采樣點,分別稱為采樣點1和采樣點2,每一個采樣點均對應(yīng)記錄有如表1所示的cpu0這一行的時間元素信息,然后計算兩個采樣點的時間元素信息的差值,基于以下公式計算出硬核0的cpu占用,公式如下:user差=user2–user1;system差=system2–system1;nice差=nice2–nice1;idle差=idle2–idle1;iowait差=iowait2–iowait1;irq差=irq2–irq1;softirq差=softirq2–softirq1;steal差=steal2–steal1;cputotal=user差+system差+nice差+idle差+iowait差+irq差+softirq差+steal差cpu占用率計算公式:cpuoccupany=100–((idle差+iowait差)*100)/cputotal由于時間元素信息中的每一種參數(shù)均是從系統(tǒng)啟動時刻起記錄到當(dāng)前時刻,因此,需要選取兩個采樣點計算差值,才能計算出這兩個采樣點之間這一段采樣時段中硬核0的cpu占用率。然而,現(xiàn)有技術(shù)下,采用上述方法只能計算出各個硬核在每一個采樣時段的cpu占用率,無法精確計算出進程的cpu占用率。在操作系統(tǒng)中,進程是一個具有一定獨立功能的程序,是關(guān)于某個數(shù)據(jù)集合的一次運行活動。它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元,在傳統(tǒng)的操作系統(tǒng)中,進程既是基本的分配單元,也是基本的執(zhí)行單元。進程是一個實體,每一個進程都有專屬的地址空間,一般情況下,包括文本區(qū)域、數(shù)據(jù)區(qū)域和堆棧。當(dāng)系統(tǒng)運行慢時或者出異常時,只能根據(jù)各個硬核的cpu占用率粗略計算估計進程的cpu占用率情況,因此不能對cpu負荷高的進程進行有效監(jiān)測,從而降低了多核處理器的性能。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供一種cpu占用率的統(tǒng)計方法及裝置,用以解決現(xiàn)有技術(shù)中存在因無法統(tǒng)計進程的cpu占用率而導(dǎo)致多核處理器性降低的問題。本發(fā)明實施例提供的具體技術(shù)方案如下:一種cpu占用率的統(tǒng)計方法,包括:確定目標(biāo)進程,以及根據(jù)預(yù)設(shè)的進程和硬核之間的關(guān)聯(lián)關(guān)系,確定所述目標(biāo)進程對應(yīng)的至少兩個硬核,其中,所述至少兩個硬核用于處理目標(biāo)進程包含的各個線程;確定指定的目標(biāo)采樣時段,分別計算所述至少兩個硬核中的每一個硬核在所述目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率;按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選取一個硬核cpu占用率作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率??蛇x的,進一步包括:在所述目標(biāo)進程初始化的過程中,針對所述目標(biāo)進程分配相應(yīng)的共享內(nèi)存子區(qū)域;為所述目標(biāo)進程分配至少兩個硬核;將所述目標(biāo)進程的id以及所述至少兩個硬核的id之間的關(guān)聯(lián)關(guān)系,記錄在所述目標(biāo)進程分配到的共享內(nèi)存子區(qū)域中??蛇x的,確定指定的目標(biāo)采樣時段,分別計算所述至少兩個硬核中的每一個硬核在所述目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率,包括:預(yù)先計算系統(tǒng)中的每一個硬核在每一個采樣時段對應(yīng)的硬核cpu占用率,待確定目標(biāo)進程以及目標(biāo)采樣時段后,再提取出目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率;或者,確定目標(biāo)進程以及目標(biāo)采樣時段后,實時計算目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率??蛇x的,計算所述目標(biāo)進程對應(yīng)的任意一個硬核在所述目標(biāo)采樣時段內(nèi)的硬核cpu占用率時,包括:確定所述目標(biāo)采樣時段兩端的第一采樣點和第二采樣點;獲取對應(yīng)所述任意一硬核在第一采樣點記錄的第一時間元素信息,以及獲取對應(yīng)所述任意一硬核在第二采樣點記錄的第二時間元素信息;基于所述第一時間元素信息和第二時間元素信息中記錄的每一種時間參數(shù)之間的差值,計算所述任意一硬核在所述目標(biāo)采樣時段內(nèi)的硬核cpu占用率??蛇x的,按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選取一個硬核cpu占用率作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率,包括:將獲得的所有硬核cpu占用率按照取值從大到小的順序排列,并從前n1個硬核cpu占用率中選取一個硬核cpu占用率,作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率;或者,將獲得的所有硬核cpu占用率按照取值從小到大的順序排列,并從前n2個硬核cpu占用率中選取一個硬核cpu占用率,作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率;或者,針對獲得的所有硬核cpu占用率計算平均值,并將所述平均值作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率??蛇x的,進一步包括:在一個預(yù)設(shè)的統(tǒng)計周期內(nèi),分別獲得所述目標(biāo)進程在所述統(tǒng)計周期中的每一個采樣時段內(nèi)對應(yīng)的軟核cpu占用率,基于獲得的各個軟核cpu占用率,計算所述目標(biāo)進程在所述統(tǒng)計周期內(nèi)的軟核cpu占用率最大值,或者,軟核cpu占用率最小值,或者,軟核cpu占用率平均值。一種cpu占用率的統(tǒng)計裝置,包括:確定單元,用于確定目標(biāo)進程,以及根據(jù)預(yù)設(shè)的進程和硬核之間的關(guān)聯(lián)關(guān)系,確定所述目標(biāo)進程對應(yīng)的至少兩個硬核,其中,所述至少兩個硬核用于處理目標(biāo)進程包含的各個線程;計算單元,用于確定指定的目標(biāo)采樣時段,分別計算所述至少兩個硬核中的每一個硬核在所述目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率;處理單元,用于按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選 取一個硬核cpu占用率作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率??蛇x的,所述處理單元進一步用于:在所述目標(biāo)進程初始化的過程中,針對所述目標(biāo)進程分配相應(yīng)的共享內(nèi)存子區(qū)域;為所述目標(biāo)進程分配至少兩個硬核;將所述目標(biāo)進程的id以及所述至少兩個硬核的id之間的關(guān)聯(lián)關(guān)系,記錄在所述目標(biāo)進程分配到的共享內(nèi)存子區(qū)域中。可選的,確定指定的目標(biāo)采樣時段,分別計算所述至少兩個硬核中的每一個硬核在所述目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率時,所述計算單元用于:預(yù)先計算系統(tǒng)中的每一個硬核在每一個采樣時段對應(yīng)的硬核cpu占用率,待確定目標(biāo)進程以及目標(biāo)采樣時段后,再提取出目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率;或者,確定目標(biāo)進程以及目標(biāo)采樣時段后,實時計算目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率??蛇x的,計算所述目標(biāo)進程對應(yīng)的任意一個硬核在所述目標(biāo)采樣時段內(nèi)的硬核cpu占用率時,所述計算單元用于:確定所述目標(biāo)采樣時段兩端的第一采樣點和第二采樣點;獲取對應(yīng)所述任意一硬核在第一采樣點記錄的第一時間元素信息,以及獲取對應(yīng)所述任意一硬核在第二采樣點記錄的第二時間元素信息;基于所述第一時間元素信息和第二時間元素信息中記錄的每一種時間參數(shù)之間的差值,計算所述任意一硬核在所述目標(biāo)采樣時段內(nèi)的硬核cpu占用率??蛇x的,按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選取一個硬核cpu占用率作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率時,所述處理單元用于:將獲得的所有硬核cpu占用率按照取值從大到小的順序排列,并從前n1個硬核cpu占用率中選取一個硬核cpu占用率,作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率;或者,將獲得的所有硬核cpu占用率按照取值從小到大的順序排列,并從前n2個硬核cpu占用率中選取一個硬核cpu占用率,作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率;或者,針對獲得的所有硬核cpu占用率計算平均值,并將所述平均值作為所述目標(biāo)進程在所述目標(biāo)采樣時段內(nèi)的軟核cpu占用率。可選的,所述處理單元進一步用于:在一個預(yù)設(shè)的統(tǒng)計周期內(nèi),分別獲得所述目標(biāo)進程在所述統(tǒng)計周期中的每一個采樣時段內(nèi)對應(yīng)的軟核cpu占用率,基于獲得的各個軟核cpu占用率,計算所述目標(biāo)進程在所述統(tǒng)計周期內(nèi)的軟核cpu占用率最大值,或者,軟核cpu占用率最小值,或者,軟核cpu占用率平均值。綜上所述,本發(fā)明實施例中,不再以硬核為單位統(tǒng)計cpu占用率,而是基于進程與硬核之間的對應(yīng)關(guān)系,根據(jù)硬核cpu占用率推斷出進程的軟核cpu占用率,這樣,可以根據(jù)準(zhǔn)確評估進程造成的cpu負荷情況,從而動態(tài)調(diào)整進程綁定的硬核的id,進而合理利用處理器資源,有效提高處理器運行速率,提高設(shè)備的整體穩(wěn)定性和高效性。附圖說明圖1為本發(fā)明實施例中進程與硬核之間的對應(yīng)關(guān)系示意圖;圖2為本發(fā)明實施例中針對目標(biāo)進程進行cpu占用率統(tǒng)計流程圖;圖3為本發(fā)明實施例中硬核對應(yīng)讀寫指針示意圖;圖4為本發(fā)明實施例中統(tǒng)計裝置功能結(jié)構(gòu)示意圖。具體實施方式本發(fā)明實施例中,提供了一種基于linux操作系統(tǒng)的實時計算進程的cpu占用率,令用戶可以根據(jù)進程的cpu占用率,動態(tài)調(diào)整進程的cpu負載均衡,從而提高多核處理器的工作性能。下面結(jié)合附圖對本發(fā)明優(yōu)選的實施方式進行詳細說明。實際應(yīng)用中,進程也稱為軟核,軟程和硬核之間存在對應(yīng)關(guān)系。這是因為:一個進程是由多個線程組成的,為了實現(xiàn)硬核之間的性能均衡,會將一個進程中的多個線程分別分配至不同的硬核進行處理,以提高處理性能,因此,每一個進程均會對應(yīng)至少兩個硬核,而系統(tǒng)會對進程和硬核之間的對應(yīng)關(guān)系進行記錄。例如,參閱圖1所示,在系統(tǒng)中針對各個進程分配了專屬的共享內(nèi)存區(qū)域用于記錄進程和硬核之間的對應(yīng)關(guān)系,共享內(nèi)存總大小為“進程數(shù)目*硬核數(shù)目”,在某一進程(以下稱為進程x)初始化時,會針對進程x分配共享內(nèi)存子區(qū)域,然后將分配到的共享內(nèi)存清成0xffffffff,當(dāng)進程x被加載后,在進行初始化的過程中,為進程x分配至少兩個硬核,用于處理進程x中包含的各個線程,接著,將進程x的id和上述至少兩個硬核的id,關(guān)聯(lián)記錄在為進程x分配的共享內(nèi)存子區(qū)域中。例如,參閱圖1所示,在初始化過程中記錄的關(guān)聯(lián)關(guān)系中,軟核0(即進程0)對應(yīng)的硬核為硬核0和硬核1,軟核n(即進程n)對應(yīng)的硬核為硬核2和硬核4?;谏鲜鲱A(yù)處理過程,參閱圖2所示,本發(fā)明實施例中,針對目標(biāo)進程,統(tǒng)計cpu占用率的詳細過程如下:步驟200:確定目標(biāo)進程,以及根據(jù)預(yù)設(shè)的進程和硬核之間的關(guān)聯(lián)關(guān)系,確定目標(biāo)進程對應(yīng)的至少兩個硬核,其中,該至少兩個硬核用于處理目標(biāo)進程包含的各個線程。具體的,可以選取一個進程作為目標(biāo)進程,根據(jù)如圖1所示的預(yù)先記錄的進程和硬核之間的關(guān)聯(lián)關(guān)系,確定目標(biāo)進程對應(yīng)的至少兩個硬核。步驟210:確定指定的目標(biāo)采樣時段,分別計算上述至少兩個硬核中的每一個硬核在上述目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率。實際應(yīng)用中,步驟210可以采用但不限于以下兩種方式:第一種方式為:預(yù)先計算系統(tǒng)中的每一個硬核在每一個采樣時段對應(yīng)的硬核cpu占用率,待確定目標(biāo)進程以及目標(biāo)采樣時段后,再提取出目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率。例如,假設(shè)處理器中包含n個硬核,則需要計算出這n個硬核中的每一個硬核在各個采樣時段的硬核cpu占用率,待選目標(biāo)進程和目標(biāo)采樣時段后,假設(shè)目標(biāo)進程被分配至硬核1和硬核2處理,那么,提取出硬核1和硬核2各自在目標(biāo)采樣時段中的硬核cpu占用率。這樣,可以預(yù)先定期記錄每一個硬核在每一個采樣時段內(nèi)的硬核cpu占用率,從而在需要使用時可以直接提取所需的目標(biāo)值,進而有效節(jié)省了運算量,以及提高了計算效率。采用第一種方式,適應(yīng)于配備有足夠存儲空間的應(yīng)用場景。第二種方式為:確定目標(biāo)進程以及目標(biāo)采樣時段后,實時計算目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率。這樣,可以有針對性的計算當(dāng)前目標(biāo)進程對應(yīng)的每一個硬核在目標(biāo)采樣時段內(nèi)的硬核cpu占用率,節(jié)省了計算量,適用于計算量不頻率,且存儲空間有限的應(yīng)用場景。無論采用第一種方式還是第二種方式,系統(tǒng)均需要按照設(shè)定的采樣頻率,在每一個采樣點,分別對應(yīng)處理器中的每一個硬核記錄相應(yīng)的時間元素信息,時間元素信息的具體內(nèi)容參閱表1所示,在此不再贅述。進一步地,以目標(biāo)進程對應(yīng)的任意一個硬核(以下稱為硬核x)為例,在計算硬核x在目標(biāo)采樣時段內(nèi)的硬核cpu占用率時,可以先確定目標(biāo)采樣時段兩端的第一采樣點和第二采樣點,再獲取對應(yīng)硬核x在第一采樣點記錄的第一時間元素信息,以及獲取對應(yīng)硬核x在第二采樣點記錄的第二時間元素信 息,再基于第一時間元素信息和第二時間元素信息中記錄的每一種時間參數(shù)之間的差值,計算硬核x在目標(biāo)采樣時段內(nèi)的硬核cpu占用率,在此不再贅述。步驟220:按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選取一個硬核cpu占用率作為上述目標(biāo)進程在上述目標(biāo)采樣時段內(nèi)的軟核cpu占用率。具體的,步驟220可以采用但不限于以下三種執(zhí)行方式:第一種方式:將獲得的所有硬核cpu占用率按照取值從大到小的順序排列,并從前n1個硬核cpu占用率中選取一個硬核cpu占用率,作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率,其中,n1為預(yù)設(shè)常數(shù)。這樣處理,是考慮到cpu運行過程中可以時刻對硬核的負荷進行查詢,而硬核cpu占用率的較大值能夠反應(yīng)出硬核的高負荷狀態(tài),從而可以推斷出所關(guān)聯(lián)的目標(biāo)進程的軟核cpu占用率。第二種方式:將獲得的所有硬核cpu占用率按照取值從小到大的順序排列,并從前n2個硬核cpu占用率中選取一個硬核cpu占用率,作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率,其中,n2為預(yù)設(shè)常數(shù)。這樣處理,是考慮到cpu運行過程中可以時刻對硬核的負荷進行查詢,而硬核cpu占用率的較小值能夠反應(yīng)出硬核的空閑狀態(tài),從而可以推斷出所關(guān)聯(lián)的目標(biāo)進程的空閑狀態(tài)。第三種方式:針對獲得的所有硬核cpu占用率計算平均值,并將該平均值作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率。這樣處理,是考慮到cpu運行過程中可以時刻對硬核的負荷進行查詢,而硬核cpu占用率的平均值能夠反應(yīng)進程的軟核cpu占用率的總體狀況,更有利于對進程的硬核負荷進行均衡處理?;谏鲜鰧嵤├?,本發(fā)明實施例中,進一步地,設(shè)置有統(tǒng)計周期,一個統(tǒng)計周期內(nèi)包含有若干采樣時段,針對目標(biāo)進程,在一個統(tǒng)計周期內(nèi)的每一個采樣時段中,均會獲得一個相應(yīng)的軟核cpu占用率,那么,當(dāng)一個統(tǒng)計周期結(jié) 束時,可以執(zhí)行以下操作中的任意一種或任意組合:a:基于從各個采樣時段內(nèi)獲得的所有軟核cpu占用率,挑選出取值最大的軟核cpu占用率,作為目標(biāo)進程在上述統(tǒng)計周期內(nèi)的軟核cpu占用率最大值。b:基于從各個采樣時段內(nèi)獲得的所有軟核cpu占用率,挑選出取值最小的軟核cpu占用率,作為目標(biāo)進程在上述統(tǒng)計周期內(nèi)的軟核cpu占用率最小值。c:基于從各個采樣時段內(nèi)獲得的所有軟核cpu占用率,計算出各個軟核cpu占用率平均值,作為目標(biāo)進程在上述統(tǒng)計周期內(nèi)的軟核cpu占用率平均值。之所以設(shè)計統(tǒng)計周期,是為了能夠精確統(tǒng)計出cpu在統(tǒng)計周期這一段時間內(nèi)的cpu占用情況,以便調(diào)整進程的硬核分配方式;用戶可以通過拉長或者減少統(tǒng)計周期占用的時長,結(jié)合統(tǒng)計周期內(nèi)統(tǒng)計的軟核cpu占用率情況,對進程與各個硬核之間的對應(yīng)關(guān)系進行適應(yīng)性調(diào)整,做到未雨綢繆。進一步地,如圖3所示,為了保證系統(tǒng)在各個采樣點針對同一硬核采集的時間元素信息之間實現(xiàn)互斥訪問,本實施例中采用乒乓操作,即在任務(wù)初始化時,針對各個硬核分配n×2讀取指針,即每一個硬核對應(yīng)2個讀寫指針,以統(tǒng)計周期為單位,在一個統(tǒng)計周期完成時,針對每一個硬核進行讀寫指針互換。例如,假設(shè)硬核0對應(yīng)的讀指針當(dāng)前指向的buffer中記錄了上一個統(tǒng)計周期內(nèi)的軟核cpu最大值、軟核cpu最小值和軟核cpu平均值,同時,硬核0對應(yīng)的寫指針指向的buffer中就可以記錄當(dāng)前統(tǒng)計周期中各個采樣點的時間元素信息,以及計算各個采樣時段對應(yīng)的軟核cpu占用率。基于上述實施例,參閱圖4所示,本發(fā)明實施例中,用于統(tǒng)計系統(tǒng)的軟核cpu占用率的統(tǒng)計裝置至少包括:確定單元40、計算單元41和處理單元42,其中,確定單元40,用于確定目標(biāo)進程,以及根據(jù)預(yù)設(shè)的進程和硬核之間的關(guān)聯(lián)關(guān)系,確定目標(biāo)進程對應(yīng)的至少兩個硬核,其中,上述至少兩個硬核用于處理 目標(biāo)進程包含的各個線程;計算單元41,用于確定指定的目標(biāo)采樣時段,分別計算所述至少兩個硬核中的每一個硬核在目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率;處理單元42,用于按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選取一個硬核cpu占用率作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率??蛇x的,處理單元42進一步用于:在目標(biāo)進程初始化的過程中,針對目標(biāo)進程分配相應(yīng)的共享內(nèi)存子區(qū)域;為目標(biāo)進程分配至少兩個硬核;將目標(biāo)進程的id以及上述至少兩個硬核的id之間的關(guān)聯(lián)關(guān)系,記錄在目標(biāo)進程分配到的共享內(nèi)存子區(qū)域中??蛇x的,確定指定的目標(biāo)采樣時段,分別計算上述至少兩個硬核中的每一個硬核在目標(biāo)采樣時段中對應(yīng)的硬核cpu占用率時,計算單元41用于:預(yù)先計算系統(tǒng)中的每一個硬核在每一個采樣時段對應(yīng)的硬核cpu占用率,待確定目標(biāo)進程以及目標(biāo)采樣時段后,再提取出目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率;或者,確定目標(biāo)進程以及目標(biāo)采樣時段后,實時計算目標(biāo)進程對應(yīng)的至少兩個硬核各自在目標(biāo)采樣時段內(nèi)對應(yīng)的硬核cpu占用率。可選的,計算目標(biāo)進程對應(yīng)的任意一個硬核在目標(biāo)采樣時段內(nèi)的硬核cpu占用率時,計算單元41用于:確定目標(biāo)采樣時段兩端的第一采樣點和第二采樣點;獲取對應(yīng)上述任意一硬核在第一采樣點記錄的第一時間元素信息,以及獲取對應(yīng)上述任意一硬核在第二采樣點記錄的第二時間元素信息;基于上述第一時間元素信息和第二時間元素信息中記錄的每一種時間參數(shù)之間的差值,計算上述任意一硬核在目標(biāo)采樣時段內(nèi)的硬核cpu占用率。可選的,按照預(yù)設(shè)篩選規(guī)則在獲得的所有硬核cpu占用率中,選取一個 硬核cpu占用率作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率時,處理單元42用于:將獲得的所有硬核cpu占用率按照取值從大到小的順序排列,并從前n1個硬核cpu占用率中選取一個硬核cpu占用率,作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率;或者,將獲得的所有硬核cpu占用率按照取值從小到大的順序排列,并從前n2個硬核cpu占用率中選取一個硬核cpu占用率,作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率;或者,針對獲得的所有硬核cpu占用率計算平均值,并將該平均值作為目標(biāo)進程在目標(biāo)采樣時段內(nèi)的軟核cpu占用率??蛇x的,處理單元42進一步用于:在一個預(yù)設(shè)的統(tǒng)計周期內(nèi),分別獲得目標(biāo)進程在上述統(tǒng)計周期中的每一個采樣時段內(nèi)對應(yīng)的軟核cpu占用率,基于獲得的各個軟核cpu占用率,計算目標(biāo)進程在上述統(tǒng)計周期內(nèi)的軟核cpu占用率最大值,或者,軟核cpu占用率最小值,或者,軟核cpu占用率平均值。綜上所述,本發(fā)明實施例中,不再以硬核為單位統(tǒng)計cpu占用率,而是基于進程與硬核之間的對應(yīng)關(guān)系,根據(jù)硬核cpu占用率推斷出進程的軟核cpu占用率,這樣,可以根據(jù)準(zhǔn)確評估進程造成的cpu負荷情況,從而動態(tài)調(diào)整進程綁定的硬核的id,進而合理利用處理器資源,有效提高處理器運行速率。有效提高處理器的運行效率,提高設(shè)備的整體穩(wěn)定性和高效性。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn) 品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明實施例進行各種改動和變型而不脫離本發(fā)明實施例的精神和范圍。這樣,倘若本發(fā)明實施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
崇州市| 大理市| 安丘市| 仪陇县| 通渭县| 鱼台县| 阳江市| 萨嘎县| 河源市| 吉首市| 方正县| 定襄县| 玉田县| 夏津县| 哈巴河县| 固原市| 岳阳县| 高雄县| 朝阳市| 措美县| 奎屯市| 大竹县| 青川县| 日土县| 武穴市| 邳州市| 克东县| 南昌市| 梨树县| 囊谦县| 南宁市| 沅江市| 巫山县| 鄯善县| 荃湾区| 桓仁| 大足县| 奉化市| 开阳县| 阿拉善盟| 巴彦淖尔市|