[發明專利]調整虛擬機存儲器的方法和系統有效
| 申請號: | 201310585908.9 | 申請日: | 2013-11-20 |
| 公開(公告)號: | CN103838633B | 公開(公告)日: | 2017-06-13 |
| 發明(設計)人: | M·H·道森;C·R·格雷西;G·D·詹森 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所11038 | 代理人: | 吳信剛 |
| 地址: | 美國*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 動態 虛擬機 存儲器 調整 避免 內存不足 | ||
技術領域
本發明涉及虛擬機工作集存儲器空間。更具體而言,本發明涉及在動態虛擬機存儲器調整中避免內存不足(out-of-memory)。
背景技術
虛擬機可以在硬件平臺上執行,所述硬件平臺允許虛擬機就好像虛擬機是硬件計算設備一樣地執行程序/進程。硬件平臺可以允許多個單獨的虛擬機共存。每一個虛擬機都可以具有其自己的存儲器空間、操作系統實例、以及資源集,或可以共享某些資源。
發明內容
一種方法包括:通過處理器,檢測相對于與應用程序存儲器分配的存儲器堆(heap)相關聯的調整的堆最大大小的未使用空閑存儲器不足,其中,調整的堆最大大小被設置為小于最大堆分配大小的堆大小;計算解決所述未使用空閑存儲器不足的對所述調整的堆最大大小的增大量;以及將所述調整的堆最大大小增大所述計算出的對所述調整的堆最大大小的增大量。
一種系統包括存儲器以及被編程為執行下列操作的處理器:檢測相對于與存儲器內的應用程序存儲器分配的存儲器堆相關聯的調整的堆最大大小的未使用空閑存儲器不足,其中,調整的堆最大大小被設置為小于最大堆分配大小的堆大小;計算解決所述未使用空閑存儲器不足的對所述調整的堆最大大小的增大量;以及將所述調整的堆最大大小增大所述計算出的對所述調整的堆最大大小的增大量。
一種計算機程序產品包括實現有計算機可讀程序代碼的計算機可讀存儲介質,其中,計算機可讀程序代碼當在計算機上執行時使計算機:檢測相對于與應用程序存儲器分配的存儲器堆相關聯的調整的堆最大大小的未使用空閑存儲器不足,其中,調整的堆最大大小被設置為小于最大堆分配大小的堆大小;計算解決所述未使用空閑存儲器不足的對所述調整的堆最大大小的增大量;以及將所述調整的堆最大大小增大所述計算出的對所述調整的堆最大大小的增大量。
附圖說明
圖1是根據本主題的一實施例的用于在動態虛擬機存儲器調整中避免內存不足的系統的實現的示例的框圖;
圖2是根據本主題的一實施例的在動態虛擬機存儲器調整中能夠執行內存不足避免的核處理模塊的實現的示例的框圖;
圖3是根據本主題的一實施例的用于在動態虛擬機存儲器調整中避免內存不足的消息流的實現的示例的消息流圖示;
圖4是根據本主題的一實施例的用于在動態虛擬機存儲器調整中避免內存不足的過程的實現的示例的流程圖;
圖5A是根據本主題的一實施例的用于在動態虛擬機存儲器調整中避免內存不足的過程內的初始處理的實現的示例的流程圖;以及
圖5B是根據本主題的一實施例的用于在動態虛擬機存儲器調整中避免內存不足的過程內的另外的處理的實現的示例的流程圖。
具體實施方式
下面闡述的示例表示使本領域技術人員能實施本發明的必要信息,并示出了實施本發明的最佳模式。在參考附圖閱讀下面的描述之后,所屬領域的技術人員將理解本發明的概念,并將認識到此處沒有特別闡明的這些概念的應用。應該理解,這些概念和應用落在本公開和附帶的權利要求的范圍內。
本文描述的主題提供在動態虛擬機存儲器調整中避免內存不足。本技術在虛擬機和垃圾回收器之間提供協作交互,以使虛擬機可以在不需要時使用較少的操作系統(OS)存儲器,而不會在需要更多存儲 器時阻止虛擬機使用更多存儲器。為實現本技術,添加了回調例程,當內存不足(out-of-memory,OOM)錯誤即將發生或已經發生時,由垃圾回收器(GC)觸發該回調例程。回調例程可以通過內存不足處理程序進程/模塊來實現。響應于判斷內存不足(OOM)狀況即將發生(或已經發生),垃圾回收器調用回調例程,表示OOM狀況即將來臨。當回調例程被調用時,確定使應用程序繼續運行所需的存儲器的量。可以執行處理以確定修改工作集的最大大小所需的增大的存儲器的量(增大的工作集大小調整)。回調例程的調用可以可任選地包括分配所需的存儲器的量,可以通過對回調本身的分析來執行工作集的確定的增大的大小調整。通過回調內存不足處理程序,添加可用存儲器,用于應用程序執行。取決于用來調整可用堆存儲器的技術,回調的內存不足處理程序將調整的最大大小向上移動確定的量,或者給消耗堆空間的氣球放氣達確定的量,以增加可用存儲器供應用程序執行。然后,回調的內存不足處理程序被允許請求重試存儲器分配。可以使用回調例程的返回值來允許處理回調的進程請求GC響應于對虛擬機的分配的最大存儲器的調整而重試分配嘗試。如此,在對可用于虛擬機分配給應用程序的堆存儲器的動態調整的上下文中,可以避免內存不足狀況。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310585908.9/2.html,轉載請聲明來源鉆瓜專利網。





