[發明專利]內存配額的調整方法和限制方法及其裝置無效
| 申請號: | 201210568103.9 | 申請日: | 2012-12-24 |
| 公開(公告)號: | CN103116516A | 公開(公告)日: | 2013-05-22 |
| 發明(設計)人: | 李瑞平 | 申請(專利權)人: | 北京伸得緯科技有限公司;國際伸得緯有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100028 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 配額 調整 方法 限制 及其 裝置 | ||
技術領域
本發明涉及內存配額的管理,尤其是一種內存配額的調整方法和控制方法及其裝置。
背景技術
在現有技術中,在服務器上可運行多個虛擬機,同時每個虛擬機又可能會有多個進程的啟動,如不加管理和控制,會導致某個虛擬機中的某個進程內存占用過大,而影響整個虛擬機的性能。目前已經為各個虛擬機或者各個進程分配的內存配額基本固定不變,當某個進程的內存配額分配過大時會造成浪費,而某個進程的內存配額過小時又造成頻繁報錯。因此,動態、按需的內存配額管理是提高服務器性能的關鍵。需要一種技術對內存配額進行動態調整。當某個虛擬機占用的內存配額已經較大時,需要有一種技術能夠限制該虛擬機繼續啟動更多的線程造成內存配額的負荷過大。
Page?Fault是進程的缺頁錯誤數,是每個進程的屬性,可通過系統信息直接獲得的,該值時刻在更新變化,體現不同時刻進程的實體內存需求情況。通過實時觀察統計Page?Fault,能夠動態獲取內存需求變化,相應進行內存配額的調整和限制。
發明內容
PageFault?Rate為單位時間(周期)內的PageFault數,該值可反應出某一進程在某個時段的實體內存使用情況,在本項目中該值為實現核心算法的重要參考依據。
作為內存配額管理的服務端,應合理的分配管理各個虛擬機中的內存,平衡虛擬機的性能,以最佳性能運行。由于每個進程的Page?Fault?Rate可以代表該進程實體內存的使用狀況,Page?Fault?Rate太低,代表實體內存有很多的富余,Page?Fault?Rate太高,則代表實體內存已經不夠用了。故此,本發明利用PageFaultRate值,及時統計每個進程的PageFaultRate值和整個虛擬機的PageFaultRate平均值,并根據需要進行實時調整,成為實現當需要內存管理或判斷是否可允許啟動新進程時的功能的重要參考依據。
為解決上述問題,本發明提出了以下技術方案:
一種內存配額的調整方法,包括以下步驟:
步驟A,更新內存信息,獲取每個進程當前的PageFault值,根據一段時間內的PageFault值,計算單位時間內的PageFault以獲得每個進程的PageFaultRate;
步驟B,根據內存信息判斷是否需要調整進程的內存配額;如不需要則退出;如需要,則進入步驟C;
步驟C,查找當前PageFaultRate最小的進程;對該進程的內存配額按照削減步長進行削減。
如上所述的方法,還包括,步驟A運行之前設置步驟A啟動條件,包括:
設置定時器,按周期定時啟動步驟A;或者,
設置觸發條件,滿足條件時立即啟動步驟A。
如上所述的方法,步驟A中更新內存信息還包括,統計每個虛擬機中的內存剩余量,針對每個虛擬機,將單個虛擬機內包括的各個進程的PageFaultRate取平均值,分別獲得每個虛擬機的平均PageFaultRate。
如上所述的方法,步驟B中根據內存信息判斷是否需要調整進程的內存配額包括根據以下信息至少一種進行判斷:
每個進程的PageFaultRate,每個虛擬機中的內存剩余量,每個虛擬機的平均PageFaultRate。
如上所述的方法,所述步驟C之后還包括,
步驟D,查找當前PageFaultRate最大的進程;對該進程的內存配額按照增加步長進行增加。
一種內存配額的限制方法,包括以下步驟:
步驟J,更新內存信息,獲取每個進程當前的PageFault值,根據一段時間內的PageFault值,計算單位時間內的PageFault以獲得每個進程的PageFaultRate;
步驟K,當虛擬機發出開啟新進程請求時,根據內存信息判斷是否允許開啟新進程;如不允許則通知虛擬機不允許開啟,并且退出,否則進入步驟L;
步驟L,通知虛擬機允許開啟。
如上所述的方法,步驟J中更新內存信息還包括,統計每個虛擬機中的內存剩余量,針對每個虛擬機,將單個虛擬機內包括的各個進程的PageFaultRate取平均值,分別獲得每個虛擬機的平均PageFaultRate。
如上所述的方法,步驟K中根據內存信息判斷是否允許開啟新進程包括根據以下信息至少一種進行判斷:
該虛擬機中的內存剩余量,該虛擬機的平均PageFaultRate,該虛擬機已經啟動的進程數。
本發明還提出了:
一種內存配額的調整裝置,包括以下模塊:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京伸得緯科技有限公司;國際伸得緯有限公司,未經北京伸得緯科技有限公司;國際伸得緯有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210568103.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種固封極柱及固體絕緣環網柜
- 下一篇:一種帶有收音功能的太陽能時鐘





