新四季網

一種提高CPU利用率的方法及裝置與流程

2023-05-23 17:39:52


本發明涉及計算機技術領域,特別涉及一種提高cpu利用率的方法及裝置。



背景技術:

隨著網際網路的發展,vcpu虛擬處理器被廣泛應用於各個領域。vcpu是cpu中央處理器的虛擬化技術,cpu的虛擬化就是用單個cpu模擬多個cpu並行,從而實現一個平臺同時運行多個作業系統,並且應用程式都可以在相互獨立的空間內運行而互不影響。

現有技術通過cpu自動分配,將多個vcpu分配到cpu的多個核心中的計算單元上,以實現對cpu進行虛擬化。

然而上述分配方式只能依次填滿每一個cpu物理核心的計算單元,比如,6個vcpu分配到4個cpu物理核心上,每個cpu物理核心上有3個計算單元,則其中兩個cpu物理核心分別分配三個vcpu,剩餘兩個cpu物理核心處於閒置狀態,從而導致cpu利用率下降。



技術實現要素:

本發明實施例提供了一種提高cpu利用率的方法及裝置,能夠提高cpu的利用率。

第一方面,本發明提供了一種提高cpu利用率的方法,包括:

獲取每一個cpu中央處理器物理核心當前分配信息,所述分配信息,包括:所述cpu物理核心分配到的vcpu虛擬處理器的數量;

根據所述分配信息確定至少一個待分配cpu物理核心;

確定至少一個待分配vcpu;

根據每一個所述待分配cpu物理核心上的所述vcpu的數量,將所述至少一個待分配vcpu分配給所述至少一個待分配cpu物理核心。

優選地,所述獲取每一個cpu物理核心當前的分配信息,包括:

接收外部輸入的獲取指令;

根據所述獲取指令,獲取每一個所述cpu物理核心的id;

通過所述id讀取每一個所述cpu物理核心的分配信息。

優選地,在根據每一個所述待分配cpu物理核心上的所述vcpu的數量,將所述至少一個待分配vcpu分配給所述至少一個待分配cpu物理核心之後,進一步包括:

創建所述至少一個待分配vcpu與其所位於的所述cpu物理核心id的關聯關係,使得所述至少一個待分配vcpu綁定到所述cpu物理核心。

優選地,所述確定至少一個待分配vcpu,包括:

針對於每一個所述vcpu,判斷當前vcpu是否已綁定到所述cpu物理核心,如果是,結束當前流程,否則,確定所述當前vcpu為所述待分配vcpu。

優選地,所述根據每一個所述待分配cpu物理核心上的所述vcpu的數量,將所述至少一個待分配vcpu分配給所述至少一個待分配cpu物理核心,包括:

針對每一個所述待分配vcpu,判斷是否存在一個目標待分配cpu物理核心,其中,所述目標待分配cpu物理核心中存在至少一個與該待分配vcpu有運算關聯關係的vcpu;

如果是,將所述待分配vcpu分配到所述目標待分配cpu物理核心上;

如果否,根據所述至少一個待分配cpu物理核心上已分配vcpu的數量,將該待分配vcpu分配到所述至少一個待分配cpu物理核心上。

第二方面,本發明實施例提供了一種提高cpu利用率的裝置,其特徵在於,包括:獲取模塊、確定模塊和分配模塊;

所述獲取模塊,用於獲取每一個cpu物理核心當前分配信息,所述分配信息,包括:所述cpu物理核心分配到的vcpu的數量;

所述確定模塊,用於確定至少一個待分配vcpu,以及根據所述獲取模塊獲取的所述分配信息確定至少一個待分配cpu物理核心;

所述分配模塊,用於根據每一個所述待分配cpu物理核心上已分配的待分配vcpu數量,將所述確定模塊確定的所述至少一個待分配vcpu分配給所述確定模塊確定的所述至少一個待分配cpu物理核心。

優選地,所述獲取模塊,包括:接收單元、獲取單元和讀取單元;

所述接收單元,用於接受外部輸入的獲取指令;

所述獲取單元,用於根據所述接收單元接收的所述獲取指令,獲取每一個所述cpu物理核心的id;

所述讀取單元,用於通過所述獲取單元獲取的所述id讀取每一個所述cpu物理核心的分配信息。

優選地,進一步包括:創建模塊;

所述創建模塊,用於創建所述至少一個待分配vcpu與其所位於的所述cpu物理核心id的關聯關係,使得所述至少一個待分配vcpu綁定到所述cpu物理核心。

優選地,所述確定模塊,包括:第一判斷單元;

所述第一判斷單元,用於針對於每一個所述vcpu,判斷當前vcpu是否已綁定到所述cpu物理核心,如果是,結束當前流程,否則,確定所述當前vcpu為所述待分配vcpu。

優選地,所述分配模塊,包括:第二判斷單元;

所述第二判斷單元,用於針對每一個所述待分配vcpu,判斷是否存在一個目標待分配cpu物理核心,其中,所述目標待分配cpu物理核心中存在至少一個與該待分配vcpu有運算關聯關係的vcpu;

如果是,將所述待分配vcpu分配到所述目標待分配cpu物理核心上;

如果否,根據所述至少一個待分配cpu物理核心上已分配vcpu的數量,將該待分配vcpu分配到所述至少一個待分配cpu物理核心上。

本發明實施例提供了一種提高cpu利用率的方法及裝置,通過獲取cpu物理核心當前分配信息,能夠得到每一個cpu物理核心上的vcpu的數量,再根據每一個cpu物理核心上的vcpu的數量將待分配的vcpu均衡地分配到各個待分配cpu物理核心,使得每一個cpu物理核心都能分配到vcpu,因而避免出現cpu物理核心閒置的情況,從而提高了cpu的利用率。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是本發明一個實施例提供的一種提高cpu利用率的方法流程圖;

圖2是本發明一個實施例提供的另一種提高cpu利用率的方法流程圖;

圖3是本發明一個實施例提供的一種提高cpu利用率的裝置的結構示意圖;

圖4是本發明一個實施例提供的另一種提高cpu利用率的裝置的結構示意圖;

圖5是本發明一個實施例提供的又一種提高cpu利用率的裝置的結構示意圖;

圖6是本發明一個實施例提供的再一種提高cpu利用率的裝置的結構示意圖;

圖7是本發明一個實施例提供的還一種提高cpu利用率的裝置的結構示意圖。

具體實施方式

為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

如圖1所示,本發明實施例提供了一種提高cpu利用率的方法,包括以下步驟:

步驟101,獲取每一個cpu中央處理器物理核心當前分配信息,所述分配信息,包括:所述cpu物理核心分配到的vcpu虛擬處理器的數量。

步驟102,根據所述分配信息確定至少一個待分配cpu物理核心。

步驟103,確定至少一個待分配vcpu。

步驟104,根據每一個所述待分配cpu物理核心上的所述vcpu的數量,將所述至少一個待分配vcpu分配給所述至少一個待分配cpu物理核心。

本發明實施例提供了一種提高cpu利用率的方法,通過獲取cpu物理核心當前分配信息,能夠得到每一個cpu物理核心上的vcpu的數量,再根據每一個cpu物理核心上的vcpu的數量將待分配的vcpu均衡地分配到各個待分配cpu物理核心,使得每一個cpu物理核心都能分配到vcpu,因而避免出現cpu物理核心閒置的情況,從而提高了cpu的利用率。

在本發明的一個實施例中,根據外部輸入的獲取指令獲取每一個cpu物理核心的id,獲取指令為:。該指令可以通過配置虛擬機中的配置文件,來獲取cpu物理核心的id。再通過每一個cpu物理核心的id讀取每一個cpu物理核心的分配信息,即可得到每個cpu物理核心上的vcpu數量。

例如,有兩個cpu物理核心a、b,id分別為01、02,則根據獲取指令,分別獲取cpu物理核心a、b的id01和02,在根據cpu物理核心a、b的id分別讀取cpu物理核心a、b的分配信息,從而得到cpu物理核心a、b上的vcpu數量。

cpu自動分配vcpu時,與vcpu對應的cpu物理核心可能是變化的,這可能會導致vcpu會集中分配到幾個cpu物理核心上。在本發明的一個實施例中,通過建立vcpu與vcpu所在的cpu物理核心id的關聯關係,將vcpu綁定到某一個cpu物理核心上,從而避免了由於與vcpu對應的cpu物理核心的變化而導致的cpu利用率的降低。

為了能夠提高分配vcpu的效率,在本發明的一個實施例中,在確定待分配vcpu時,先判斷當前vcpu是否已綁定到所述cpu物理核心,如果是,說明當前vcpu已經分配過了,進而結束當前流程;如果沒有綁定,需要重新分配。

例如,cpu物理核心a上分配有5個vcpu,其中2個是綁定在cpu物理核心a上的,則剩餘的3個vcpu為待分配vcpu,可能被重新分配,已綁定的不再執行重新分配。如果剩餘的3個vcpu沒有重新分配,則綁定在cpu物理核心a上。

在運算過程中,各vcpu可能會出現運算關聯,比如相互引用數據,如果這些相互關聯的vcpu沒有分配到同一個cpu物理核心上,在數據轉移時,會增加時間成本。在本發明的一個實施例中,針對每一個待分配vcpu,在待分配cpu物理核心上找出與之有運算關聯的vcpu,並將待分配vcpu分配到與之有運算關聯的vcpu的cpu物理核心上,從而節省時間成本,剩餘不關聯的vcpu則均衡分配給其他cpu物理核心上。

例如,cpu物理核心a上分配有vcpu為x1,cpu物理核心b上分配有vcpu為y1,cpu物理核心c處於空閒狀態。存在x2、y2、z三個待分配vcpu。其中,x1引用x2數據和y1引用y2數據,z為各自獨立運行的vcpu,均不與其他vcpu存在關聯。則分配後,cpu物理核心a上分配有x2;cpu物理核心b上分配有y2;cpu物理核心c上分配有z。

為了更好地說明本發明上述實施例,如圖2所示本發明實施例提供了另一種提高cpu利用率的方法,包括以下步驟:

步驟201,根據獲取命令,獲取每一個cpu物理核心的id。

在本發明實施例中,獲取命令為,通過調整配置文件中cpu的設定,來獲取每一個cpu物理核心的id。

步驟202,根據每一個cpu物理核心的id,讀取每一個cpu物理核心的分配信息。

在本發明實施例中,分配信息包括:每一個cpu物理核心上vcpu的數量。例如,一共有三個cpu物理核心,三個cpu物理核心上的vcpu的數量分別為2、3、4,則分配信息存儲三個cpu物理核心上的vcpu的數量。

步驟203,根據分配信息確定待分配cpu物理核心。

在本發明實施例中,閒置的cpu物理核心或vcpu數量較少的cpu物理核心都可以視為待分配cpu物理核心,例如有三個cpu物理核心a、b、c,三者的vcpu數量分別為4、1、0,則b,c為待分配cpu物理核心。

步驟204,針對於每一個所述vcpu,判斷當前vcpu是否已綁定到cpu物理核心,如果是,則結束當前流程,否則執行步驟205。

步驟205,確定當前vcpu為待分配vcpu。

在本發明實施例中,以是否已綁定為標準,來判定當前vcpu是否為待分配vcpu。如果當前vcpu已分配到cpu物理核心,但並未綁定,依然視為待分配待分配vcpu。

例如,cpu物理核心a上,共有兩個vcpu,分別為x1、x2,其中x1已與cpu物理核心a綁定,x2並沒有cpu物理核心a綁定,僅僅是分配到cpu物理核心a上,則x1不能被確定為待分配vcpu,x2是待分配vcpu。

步驟206,針對每一個待分配vcpu,判斷每一個待分配cpu物理核心上是否存在至少一個與該待分配vcpu有運算關聯關係的vcpu,如果是,執行步驟207,否則執行步驟209。

步驟207,將待分配vcpu分配到目標待分配cpu物理核心上。

在本發明實施例中,將至少兩個存在運算關係的vcpu,分配到同一個cpu物理核心上,以減低時間成本。例如有5個待分配vcpu,分別為x1、x2、x3、y1和y2。其中,x1、x2和x3存在關聯關係,y1和y2的存在關聯關係,則將x1、x2和x3分配到分配到同一個cpu物理核心上,把y1和y2分配到同一個cpu物理核心上。

步驟208,將已分配vcpu綁定到已分配vcpu所在的cpu物理核心上。

在本發明實施例中,通過建立已分配vcpu與vcpu所在的已分配cpu物理核心id的關聯關係,將已分配vcpu綁定到已分配vcpu所在的cpu物理核心上。

步驟209,根據待分配cpu物理核心上已分配vcpu的數量,將該待分配vcpu分配到待分配cpu物理核心上,並執行步驟208。

在本發明實施例中,在分配沒有與其他vcpu存在運算關聯關係的待分配vcpu時,儘可能地保持各個cpu物理核心之間的vcpu的數量差值不超過1,以最大限度地利用各個cpu物理核心。例如,將6個vcpu分配給4個cpu物理核心,則最佳分配方式為2、1、1、1。

如圖3所示,本發明實施例提供了一種提高cpu利用率的裝置,包括:獲取模塊301、確定模塊302和分配模塊303;

獲取模塊301,用於獲取每一個cpu物理核心當前分配信息,所述分配信息,包括:所述cpu物理核心分配到的vcpu的數量;

確定模塊302,用於確定至少一個待分配vcpu,以及根據獲取模塊301獲取的所述分配信息確定至少一個待分配cpu物理核心;

分配模塊303,用於根據每一個所述待分配cpu物理核心上已分配的待分配vcpu數量,將確定模塊302確定的所述至少一個待分配vcpu分配給確定模塊302確定的所述至少一個待分配cpu物理核心。

如圖4所示,本發明實施例提供了另一種提高cpu利用率的裝置,獲取模塊301,包括:接收單元3011、獲取單元3012和讀取單元3013;

接收單元3011,用於接受外部輸入的獲取指令;

獲取單元3012,用於根據接收單元3011接收的所述獲取指令,獲取每一個所述cpu物理核心的id;

讀取單元3013,用於通過獲取單元3012獲取的所述id讀取每一個所述cpu物理核心的分配信息。

如圖5所示,本發明實施例提供了又一種提高cpu利用率的裝置,進一步包括:創建模塊501;

創建模塊501,用於創建所述至少一個待分配vcpu與其所位於的所述cpu物理核心id的關聯關係,使得所述至少一個待分配vcpu綁定到所述cpu物理核心。

如圖6所示,本發明實施例提供了再一種提高cpu利用率的裝置,確定模塊302,包括:第一判斷單元3021;

第一判斷單元3021,用於針對於每一個所述vcpu,判斷當前vcpu是否已綁定到所述cpu物理核心,如果是,結束當前流程,否則,確定所述當前vcpu為所述待分配vcpu。

如圖7所示,本發明實施例提供了還一種提高cpu利用率的裝置,分配模塊303,包括:第二判斷單元3031;

第二判斷單元3031,用於針對每一個所述待分配vcpu,判斷是否存在一個目標待分配cpu物理核心,其中,所述目標待分配cpu物理核心中存在至少一個與該待分配vcpu有運算關聯關係的vcpu;

如果是,將所述待分配vcpu分配到所述目標待分配cpu物理核心上;

如果否,根據所述至少一個待分配cpu物理核心上已分配vcpu的數量,將該待分配vcpu分配到所述至少一個待分配cpu物理核心上。

上述裝置內的各單元之間的信息交互、執行過程等內容,由於與本發明方法實施例基於同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。

本發明實施例提供了一種可讀介質,包括執行指令,當存儲控制器的處理器執行所述執行指令時,所述存儲控制器執行本發明任意一個實施例中提供的一種提高cpu利用率的方法。

本發明實施例提供了一種存儲控制器,包括:處理器、存儲器和總線;

所述存儲器用於存儲執行指令,所述處理器與所述存儲器通過所述總線連接,當所述存儲控制器運行時,所述處理器執行所述存儲器存儲的所述執行指令,以使所述存儲控制器執行本發明任意一個實施例中提供的一種提高cpu利用率的方法。

綜上所述,本發明各個實施例至少具有如下有益效果:

1、本發明一個實施例中,通過獲取cpu物理核心當前分配信息,能夠得到每一個cpu物理核心上的vcpu的數量,再根據每一個cpu物理核心上的vcpu的數量將待分配的vcpu均衡地分配到各個待分配cpu物理核心,使得每一個cpu物理核心都能分配到vcpu,因而避免出現cpu物理核心閒置的情況,從而提高了cpu的利用率。

2、本發明一個實施例中,通過綁定vcpu與vcpu所在的cpu物理核心,解決了由於與vcpu對應的cpu物理核心的改變而造成vcpu集中分配到幾個cpu物理核心上的問題,從而進一步提高了cpu的利用率。

3、本發明一個實施例中,將具有運算關聯關係的vcpu分配到同一個cpu物理核心上,減少了時間成本,從進一步提高了cpu的利用率。

需要說明的是,在本文中,諸如第一和第二之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個······」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。

最後需要說明的是:以上所述僅為本發明的較佳實施例,僅用於說明本發明的技術方案,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀