[發明專利]一種虛擬機共享內存分配方法、裝置及電子設備有效
| 申請號: | 202011121418.X | 申請日: | 2020-10-19 |
| 公開(公告)號: | CN112363796B | 公開(公告)日: | 2022-11-11 |
| 發明(設計)人: | 劉子行;應志偉 | 申請(專利權)人: | 海光信息技術股份有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/50 |
| 代理公司: | 北京市廣友專利事務所有限責任公司 11237 | 代理人: | 張仲波 |
| 地址: | 300000 天津市濱海新區天津華苑*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 共享 內存 分配 方法 裝置 電子設備 | ||
本發明實施例公開一種虛擬機共享內存分配方法、裝置及電子設備,涉及計算機技術領域,為提高共享內存的寫入效率而發明。所述虛擬機共享內存分配方法,包括虛擬機發起讀共享內存請求;所述讀共享內存請求觸發虛擬機缺頁異常事件,基于所述虛擬機缺頁異常事件,產生虛擬機退出事件;虛擬機管理器根據所述虛擬機退出事件,為所述讀共享內存請求分配共享內存頁面,并將分配的所述共享內存頁面的讀寫權限設置為可讀寫。本發明適用于虛擬機和虛擬機管理器之間共享內存的數據寫入的場合。
技術領域
本發明涉及計算機技術領域,尤其涉及一種虛擬機共享內存分配方法、裝置及電子設備。
背景技術
基于Linux的虛擬機管理器(Virtual Machine Monitor,簡稱VMM)在內存管理上有許多優化機制。共享全零頁是其中一種節省內存的機制,該機制把虛擬機針對所有未初始化的內存頁面的讀操作,觸發缺頁異常處理,指向一張相同的全零頁,并設置頁面為只讀。這些未初始化內存頁共享同一張全零頁,可節省內存。由于全零頁沒有寫權限,當虛擬機寫入內存時,會再次觸發缺頁異常處理,重新分配內存頁面,并將該重新分配的頁面讀寫權限修改為可讀可寫。
現有的基于Linux的虛擬機管理器在內存管理上的這種優化機制,雖然可以節省內存,但也勢必影響了內存寫入的效率。
發明內容
有鑒于此,本發明實施例提供一種虛擬機共享內存分配方法、裝置及電子設備,便于提高共享內存的寫入效率。
第一方面,本發明實施例提供一種虛擬機共享內存分配方法,包括:虛擬機發起讀共享內存請求;其中,所述共享內存為所述虛擬機和所述虛擬機管理器之間共享的物理內存;所述讀共享內存請求觸發虛擬機缺頁異常事件,基于所述虛擬機缺頁異常事件,產生虛擬機退出事件;虛擬機管理器根據所述虛擬機退出事件,為所述讀共享內存請求分配共享內存頁面,并將分配的所述共享內存頁面的讀寫權限設置為可讀寫。
根據本申請實施例一具體實現方式,所述虛擬機管理器根據所述虛擬機退出事件,為所述讀共享內存請求分配共享內存頁面,并將分配的所述共享內存頁面的讀寫權限設置為可讀寫,包括:虛擬機管理器從所述虛擬機退出事件的記錄信息中,獲取為所述讀共享內存請求分配共享內存頁面的指令,根據所述指令,為所述讀共享內存請求分配共享內存頁面,并將分配的所述共享內存頁面的讀寫權限設置為可讀寫;或者,虛擬機管理器根據所述虛擬機退出事件的記錄信息,判斷所述虛擬機的退出是否是因虛擬機缺頁異常事件所引起;若確定所述虛擬機的退出是因虛擬機缺頁異常事件所引起,則判斷所述讀共享內存請求要讀的共享內存頁面是否為尚未分配的共享內存頁面;若所述讀共享內存請求要讀的共享內存頁面為尚未分配的共享內存頁面,則為所述讀共享內存請求分配共享內存頁面,并將分配的所述共享內存頁面的讀寫權限設置為可讀寫。
根據本申請實施例一具體實現方式,所述判斷所述讀共享內存請求要讀的共享內存頁面是否為尚未分配的共享內存頁面,包括:所述虛擬機管理器從所述虛擬機退出事件的記錄信息中,獲取所述讀共享內存請求所對應的虛擬機內存地址;根據所述虛擬機內存地址,以及主機物理內存地址和虛擬機內存地址之間的映射關系,確定所述讀共享內存請求所對應的主機物理內存地址;根據確定的所述主機物理內存地址,判斷所述讀共享內存請求要讀的共享內存頁面是否為尚未分配的共享內存頁面。
根據本申請實施例一具體實現方式,所述為所述讀共享內存請求分配共享內存頁面,并將分配的所述共享內存頁面的讀寫權限設置為可讀寫,包括:為所述讀共享內存請求分配共享內存頁面,將分配的所述共享內存頁面的地址設置到虛擬機管理器內存頁表,并在所述虛擬機管理器內存頁表中,將所述共享內存頁面的讀寫權限設置為可讀寫;和/或,將分配的所述共享內存頁面的地址設置到虛擬機內存頁表,并在所述虛擬機內存頁表中,將所述共享內存頁面的讀寫權限設置為可讀寫。
根據本申請實施例一具體實現方式,所述將分配的所述共享內存頁面的地址設置到虛擬機內存頁表,包括:將設置到所述虛擬機管理器內存頁表中的所述共享內存頁面的地址,映射到虛擬機內存頁表中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于海光信息技術股份有限公司,未經海光信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011121418.X/2.html,轉載請聲明來源鉆瓜專利網。





