[發明專利]一種為虛擬機分配內存的方法和虛擬機有效
| 申請號: | 201811384951.8 | 申請日: | 2018-11-20 |
| 公開(公告)號: | CN111198747B | 公開(公告)日: | 2022-12-16 |
| 發明(設計)人: | 高建勇 | 申請(專利權)人: | 中移(蘇州)軟件技術有限公司;中國移動通信集團有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 郭潤湘 |
| 地址: | 215163 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 分配 內存 方法 | ||
本發明公開了一種為虛擬機分配內存的方法和虛擬機,其中,虛擬機包括N個非一致性內存架構NUMA節點。所述方法包括:首先,獲取待分配給虛擬機的N個NUMA節點中各個NUMA節點的平均內存的大?。蝗缓?,獲取待分配給N個NUMA節點中的n1個NUMA節點的第一剩余內存的份數;最后,在第二剩余內存的大小為0時,基于所述平均內存的大小和所述第一剩余內存的份數,為N個NMUA節點分配相應大小的內存。實現了靈活的為虛擬機分配內存,且將該內存靈活分配給虛擬機的NUMA節點,滿足了進程多樣化的內存調用需求的技術效果。
技術領域
本發明涉及計算機領域,尤其涉及一種為虛擬機分配內存的方法和虛擬機。
背景技術
虛擬化技術作為云計算解決方案的基礎,正隨著云計算產品的不斷擴張而得到更多的應用場景。虛擬機運行在宿主機上,虛擬機的隨機存取存儲器(random accessmemory,RAM)由宿主機的操作系統(operating system,OS)和宿主機的虛擬機管理器(virtual machine manager,VMM)分配,也是宿主機的RAM的一部分。
非一致性內存訪問(Non-Uniform Memory Access,NUMA)技術將內存資源和CPU資源分給不同的NUMA節點。在同一NUMA節點內,CPU訪問本節點的內存稱為訪問本地內存,CPU訪問其它節點的內存稱為訪問遠端內存,且CPU訪問本地內存速度快于訪問遠端內存的速度。
隨著技術發展,虛擬機也應用NUMA技術,采用NUMA架構將宿主機分配給虛擬機的內存資源和CPU資源劃分到不同的NUMA節點。現有的虛擬機的NUMA節點的內存分配方法為將內存平均分配給虛擬機的各NUMA節點,因虛擬機的各個NUMA節點的內存大小相同且固定,當進程對NUMA節點的內存調用時,存在以下兩種問題:當某個進程調用某NUMA節點的內存時,若實際需調用的內存大小遠小于該NUMA節點的內存大小,導致內存資源的浪費,若實際需要調用的內存大小大于該NUMA節點的內存大小時,導致進程的本次調用失敗。
因此,現有技術中至少存在如下技術問題:不能靈活的為虛擬機分配內存,滿足進程多樣化的內存調用需求的技術問題。
發明內容
本發明實施例通過提供一種為虛擬機分配內存的方法及虛擬機,用于解決現有技術中不能靈活的為虛擬機分配內存,滿足進程多樣化的內存調用需求的技術問題。
第一方面,本發明一實施例提供了一種為虛擬機分配內存的方法,其中,所述虛擬機包括N個非一致性內存架構NUMA節點,N為大于等于2的整數,具體包括以下步驟:
獲取待分配給所述虛擬機的所述N個NUMA節點中各個NUMA節點的平均內存的大小a,其中,所述平均內存的大小S是待配置給所述虛擬機的總內存的大小,p是所述虛擬機的宿主機的內存頁大小的整數倍,K1是可分配份數;
獲取待分配給所述N個NUMA節點中的n1個NUMA節點的第一剩余內存的份數K2,其中,所述第一剩余內存的份數K2=K1%N,n1為大于等于1且小于等于K2的整數;
在第二剩余內存的大小r為0時,基于所述平均內存的大小a和所述第一剩余內存的份數K2,為所述N個NMUA節點分配相應大小的內存,其中,所述第二剩余內存的大小r=S%p,所述N個NUMA節點中除所述n1個NUMA節點外的節點是n2個NUMA節點,n2是等于(N-n1)的整數。
可選的,所述方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中移(蘇州)軟件技術有限公司;中國移動通信集團有限公司,未經中移(蘇州)軟件技術有限公司;中國移動通信集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811384951.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種微波、熱風沖擊和面火組合的快速烹飪裝置
- 下一篇:一種線纜懸掛件





