虚拟机的存储器管理的方法和计算机系统技术方案

技术编号:9935362 阅读:112 留言:0更新日期:2014-04-18 07:00
一种虚拟机系统的存储器管理方法,包括:通过处理器设定第一阈值;通过所述处理器在第一调整阶段中根据换入/再次快取错误检测结果而将气球驱动程序的气球目标设定为分配的虚拟存储器大小且将所述气球目标逐步递减第一递减值;通过所述处理器检测至少一个换入或再次快取错误事件来产生所述换入/再次快取错误检测结果;通过所述处理器在冷却阶段中根据所述换入/再次快取错误检测结果而停止递减所述气球目标;以及通过所述处理器在所述冷却阶段之后的第二调整阶段中将所述气球目标逐步递减第二递减值,其中所述第二递减值小于所述第一递减值,且所述气球目标不小于所述第一阈值。

【技术实现步骤摘要】
虚拟机的存储器管理的方法和计算机系统
本揭露涉及对虚拟机的存储器管理的技术。
技术介绍
计算机虚拟化是涉及建立一种如同具有操作系统的物理计算机的虚拟机器的技术,且计算机虚拟化的架构大体上依据在单一物理计算机平台上同时支持多个操作系统的能力来界定。举例来说,正在运行微软窗口操作系统(MicrosoftWindows)的计算机可主控具有Linux操作系统的虚拟机。在当虚拟机被视为客户机(guestmachine)时,主机为上述发生虚拟化的物理机器。超管理器(hypervisor;正确的说法为虚拟机超管理器(virtualmachinemonitor;VMM))为虚拟化硬件资源且呈现虚拟硬件接口给至少一虚拟机的软件层。超管理器类似于传统操作系统管理硬件资源以用于处理的方式以及相对于执行中的虚拟机执行某些管理功能。虚拟机可称作“客户”且在虚拟机内运行的操作系统可称作“客户操作系统”。虚拟化环境当前受到存储限制,这意味着主机的物理存储器为数据中心的资源利用的瓶颈。存储器虚拟化将物理存储器资源与数据中心分离且接着将资源聚合到虚拟化存储器池(memorypool)中,所述虚拟化存储器池可由客户操作系统或在客户操作系统上运行的应用程序访问。就存储器虚拟化来说,存储器压缩为存储器资源管理和利用的至关重要的主题之一相似于传统操作系统,提高超管理器使用的存储器的最后手段为通过主机交换(即,将虚拟机的存储器页面(memorypage)移动到实体的交换内存空间(swapspace),称作换出)来从虚拟机回收存储器,将虚拟机的物理地址对机器地址(P2M)表的对应页面表项(pagetableentry;PTE)标记为不存在,且接着将对应页面释放到超管理器的自由存储器池中,其中页面表为由虚拟机使用以存储虚拟地址与物理地址之间的映像的数据结构。稍后,如果所述页面再次被虚拟机所访问,页面错误被触发且访问时复制(copy-onaccess;COA)机制被启动以将页面内容从交换内存空间带到新分配的存储器页面中,称作换入。然而,因为磁盘的输入/输出(I/O)所造成的长时间的延滞的耗费会令人非常不满意。作为提高存储器利用的另一方式,可通过将虚拟机的换出页面压缩成大小较小的数据且将其一起放在存储器中以节省用以存储原始内容的物理存储磁盘来进行存储器压缩。这个想法为从压缩的存储器进行换入动作,且将比由磁盘的记忆空间进行换入动作为快,这是因为存储器的存取速度比磁盘的存取速度为快。尽管如此,存储器压缩主要视为第二选择,这是因为其不仅启动引起触发硬件陷阱hardwaretrap且停止当前应用程序执行的访问时复制(COA),而且消耗主机的处理器的处理周期(cycle)来压缩和解压缩页面内容并引发较多销耗。因此,在理想情形下为避免压缩被客户操作系统频繁地访问的存储器页面(即,工作集),而是找出闲置存储器页面(即,工作集之外的客户存储器页面)以用于存储器压缩。
技术实现思路
本揭露提供一个实施例涉及用于虚拟机系统的存储器管理方法。存储器管理方法包含以下步骤。首先,通过处理器设定第一阈值。接着通过处理器在第一调整阶段中根据换入/再次快取错误检测结果而将气球目标设定为分配的虚拟存储器大小且将气球目标逐步递减第一递减值。通过处理器检测至少一个换入或再次快取错误事件来产生换入/再次快取错误检测结果。通过处理器在冷却阶段中根据换入/再次快取错误检测结果而停止递减气球目标。通过处理器在冷却阶段之后的第二调整阶段中将气球目标逐步递减第二递减值。第二递减值小于第一递减值,且气球目标不小于第一阈值。本揭露提供另一个实施例涉及包含一种计算机系统,包含存储器以及处理器。所述处理器耦合到所述存储器且针对对虚拟机系统的存储器管理执行以下操作。所述处理器设定第一阈值以及在第一调整阶段中根据换入/再次快取错误检测结果将气球目标设定为分配的虚拟存储器大小且将气球目标逐步递减第一递减值。所述处理器还通过检测至少一个换入或再次快取错误事件来产生换入/再次快取错误检测结果。所述处理器在冷却阶段中根据换入/再次快取错误检测结果而停止递减气球目标。所述处理器还在冷却阶段之后的第二调整阶段中将气球目标逐步递减第二递减值。第二递减值小于第一递减值,且气球目标不小于第一阈值。下文详细描述伴有图式的若干示范性实施例以进一步详细描述本揭露。附图说明包含附图以提供对本揭露的进一步理解,且附图并入本说明书中并构成本说明书的一部分。所述图式用以说明本揭露的示范性实施例,且与描述一起用以解释本揭露的原理。然而,不希望所述图式限制本揭露的范围,本揭露的范围由所附权利要求书界定。图1A为说明根据本揭露的示范性实施例的计算机系统的框图。图1B为说明根据本揭露的示范性实施例的虚拟机系统的框图。图2为说明根据本揭露的示范性实施例的用于对虚拟机的存储器管理的方法的阶段图。图3为说明根据本揭露的示范性实施例的用于对虚拟机的存储器管理的方法的另一阶段图。【主要元件标号说明】100:计算机系统100':虚拟机系统110:处理器120:系统存储器150:虚拟机155:客户操作系统160:超管理器170:虚拟硬件P12:路径P21:路径P23:路径P31:路径P32:路径P34:路径S1:第一调整阶段S2:冷却阶段S3:第二调整阶段S4:另一冷却阶段S5:第三调整阶段具体实施方式现将详细参考本揭露的示范性实施例,其实例在附图中得以说明。只要可能,相同参考数字在图式和描述中用以指相同或相似部分。出于说明目的,一个处理器以及一个系统存储器用于以下示范性实施例中,且本揭露不限于此。在其它示范性实施例中,可使用一个以上处理器以及一个以上系统存储器。图1A为说明根据本揭露的示范性实施例的计算机系统的方块图。参看图1,计算机系统100包含处理器110、系统存储器120以及其它标准外围组件(未图标),其中系统存储器120耦接到处理器110。处理器110可以为专用或专有处理器,其经配置以透过执行定义与操作有关的功能的机器可读软件代码语言来执行特定任务,以透过与计算机系统100的其它组件通信来执行功能操作。系统存储器120存储例如操作系统等软件且暂时存储当前在作用中或经常被使用的数据或应用程序。因此,系统存储器120(也称作物理存储器)可为较快的存储器(例如,随机存取存储器(RAM)、静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM))以获得较短的存取时间。虚拟存储器为用于管理系统存储器120的资源的技术。其提供虚构的海量存储器。虚拟存储器以及系统存储器120两者被划分为具有连续存储器地址的区块,其也称作存储器页面。系统存储器120可(例如)包含压缩存储器,其与计算机系统100上运行的至少一虚拟机相关联。压缩存储器以压缩格式临时存储最近较少访问的存储器页面以使得系统存储器120中有较多空间可用。超管理器安装在计算机系统100上且提供支持至少一个虚拟机可同时在虚拟机实体化且执行的虚拟机执行空间。图1B为说明根据本揭露的示范性实施例的虚拟机系统的方块图。在本实施例中,将仅说明一个虚拟机,但本揭露不限于此。在其它实施例中,多个虚拟机可共存且以类似方式执行操作。参看图1B与图1A,虚拟机系统100'包含具有客户操作系统155和其它应用程序(未图标本文档来自技高网
...
虚拟机的存储器管理的方法和计算机系统

【技术保护点】
一种虚拟机系统的存储器管理方法,包括:通过处理器设定第一阈值;通过所述处理器在第一调整阶段中根据换入/再次快取错误检测结果而将气球驱动程序的气球目标设定为分配的虚拟存储器大小且将所述气球目标逐步递减第一递减值;通过所述处理器检测至少一个换入或再次快取错误事件来产生所述换入/再次快取错误检测结果;通过所述处理器在冷却阶段中根据所述换入/再次快取错误检测结果而停止递减所述气球目标;以及通过所述处理器在所述冷却阶段之后的第二调整阶段中将所述气球目标逐步递减第二递减值,其中所述第二递减值小于所述第一递减值,且所述气球目标不小于所述第一阈值。

【技术特征摘要】
2012.10.11 US 61/712,279;2013.07.26 US 13/951,4741.一种虚拟机系统的存储器管理方法,包括:通过处理器设定第一阈值;通过所述处理器在第一调整阶段中根据换入/再次快取错误检测结果而将气球驱动程序的气球目标设定为分配的虚拟存储器大小且将所述气球目标逐步递减第一递减值,其中该气球驱动程序通过利用存储器管理算法来分配或解除分配客户操作系统的虚拟存储器;通过所述处理器检测至少一个换入或再次快取错误事件来产生所述换入/再次快取错误检测结果;通过所述处理器在冷却阶段中根据所述换入/再次快取错误检测结果而停止递减所述气球目标;以及通过所述处理器在所述冷却阶段之后的第二调整阶段中将所述气球目标逐步递减第二递减值,其中所述第二递减值小于所述第一递减值,且所述气球目标不小于所述第一阈值。2.根据权利要求1所述的存储器管理方法,还包括:当所述第一阈值改变时,通过所述处理器将所述气球驱动程序从所述冷却阶段切换到所述第一调整阶段或将所述气球驱动程序从所述第二调整阶段切换到所述第一调整阶段。3.根据权利要求1所述的存储器管理方法,其中所述通过所述处理器将所述气球目标设定为所述分配的虚拟存储器大小且将所述气球目标逐步递减所述第一递减值的步骤包括:通过所述处理器将所述气球目标设定为分配到所述虚拟机系统的存储器页面的数目;以及通过所述处理器将所述气球目标逐步递减所述第一阈值的第一百分比。4.根据权利要求1所述的存储器管理方法,其中在产生所述换入/再次快取错误检测结果之后,所述方法还包括:通过所述处理器将所述气球目标递增开销计数,其中所述开销计数是根据所述至少一个换入以及再次快取错误事件的总数目而设定。5.根据权利要求1所述的存储器管理方法,其中所述通过所述处理器在所述冷却阶段中根据所述换入/再次快取错误检测结果而停止递减所述气球目标的步骤还包括:通过所述处理器在所述冷却阶段中将计数器设定为第二阈值且逐步递减所述计数器。6.根据权利要求5所述的存储器管理方法,还包括:当所述计数器达到零时,通过所述处理器将所述气球驱动程序从所述冷却阶段切换到所述第二调整阶段。7.根据权利要求4所述的存储器管理方法,其中当所述第一阈值改变时,通过所述处理器将所述气球驱动程序从所述第二调整阶段切换到所述第一调整阶段的步骤还包括:将所述第一阈值更新为所述分配的虚拟存储器大小和所述开销计数的线性组合;以及将所述气球目标重置为所述更新的第一阈值。8.根据权利要求1所述的存储器管理方法,其中所述通过所述处理器在所述第二调整阶段中将所述气球目标逐步递减第二递减值的步骤还包括:通过所述处理器将所述气球目标逐步递减所述第一阈值的第二百分比。9.根据权利要求1所述的存储器管理方法,还包括:通过所述处理器根据所述换入/再次快取错误检测结果将所述气球驱动程序从所述第二调整阶段交替地切换到至少一个另一冷却阶段以及至少一个第三调整阶段;以及当所述第一阈值改变时,通过所述处理器将所述气球驱动程序从所述至少一个另一冷却阶段以及所述至少一个第三调整阶段中的每一个切换到所述第一调整阶段。10.根据权利要求9所述的存储器管理方法,还包括:通过所述处理器在所述至少一个另一冷却阶段中的每一个中将另一计数器设定为第三阈值且逐步递减所述另一计数器;通过所述处理器在所述至少一个第三调整阶段中的每一个中将所述气球目标逐步递减第三递减值,其中当所述另一计数器达到零时,通过所述处理器将所述气球驱动程序从所述至少一个冷却阶段中的每一个切换到所述至少一个第三调整阶段中的下一第三调整阶段,且其中当产...

【专利技术属性】
技术研发人员:李翰林阙志克姜瑞豪
申请(专利权)人:财团法人工业技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1