一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

XEN平台的内存配置方法、系统及计算机可读存储介质与流程

2021-11-15 14:25:00 来源:中国专利 TAG:
xen平台的内存配置方法、系统及计算机可读存储介质
技术领域
1.本发明涉及云计算技术领域,特别涉及一种xen平台的内存配置方法、系统和计算机可读存储介质,计算机可读存储介质被处理器执行时能实现xen平台的内存配置方法。


背景技术:

2.云计算的出现,带来了全新的it基础架构建设、使用和交付模式。云服务器供应商通过服务器虚拟化技术得到虚拟机并将其作为业务服务器提供给用户使用,可以实现更细粒度的资源利用。相比传统物理机,虚拟机的部署更为方便快捷,而且可以在不同物理机之间迁移,提高了资源调度的灵活性。
3.云平台中的多数虚拟机在大部分情况下资源占用率都较低,云平台为了节省资源,往往会对物理机的内存等资源进行超分处理,即以错位提供真实资源给各个虚拟机的方式将超出物理机真实资源量的资源提供给全部虚拟机。然而,用户虚拟机的资源占用率往往是不可控的,在资源超分的情况下,一旦大量用户同时要求虚拟机资源,物理机资源将不能真实满足全部虚拟机的需求,导致部分虚拟机性能下降甚至无法工作,影响用户虚拟机的正常运行。因此,如何提高虚拟机的资源利用率是需要长期研究的问题。


技术实现要素:

4.本发明所要解决的技术问题是提供一种xen平台的内存配置方法,存储有被执行时实现上述方法的计算机程序的计算机可读存储介质,包括该存储介质的系统,该方法能够提高虚拟机内存资源的利用率。
5.提供一种xen平台的内存配置方法,包括内存页面合并步骤,将多个虚拟机对应的内存页面中内容相同的内存页面进行合并处理,包括在所述内存页面合并步骤后执行的如下大页面处理步骤:测算步骤,测算所述内容相同的内存页面占这些虚拟机总内存页面的程度,若测算得到的程度低于预设程度a,则执行如下拆合步骤;拆合步骤,检索在预设时间段内被写入频次达预设程度b的大页面,对这些大页面进行拆分处理后再执行所述内存页面合并步骤。
6.优选地,在所述测算步骤中,若测算得到的程度达到高于预设程度a的预设程度c,则对所进行合并处理的内存页面进行还原处理。
7.优选地,在完成了所述还原处理的一段时间之后,依次执行内存页面合并步骤和大页面处理步骤。
8.优选地,在所述拆合步骤中,若检索到大页面在预设时间段内被写入频次达到高于预设程度b的预设程度d,则拒绝对该大页面进行拆分处理。
9.优选地,在所述拆合步骤中,若检索到大页面在预设时间段内被写入频次低于预设程度f,该预设程度f低于预设程度b,则对该写入频次低的大页面进行拆分处理后再执行所述内存页面合并步骤。
10.优选地,所述对写入频次低的大页面进行拆分处理是在系统闲时进行的。
11.优选地,所述内容相同的内存页面是指写零的内存页面。
12.优选地,所述内容相同的内存页面是指写入了系统文件的内存页面。
13.还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时能够实现上述xen平台的内存配置方法。
14.还提供一种xen平台的内存配置系统,包括物理内存、虚拟机以及处理器,还包括上述计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
15.有益效果:该xen平台的内存配置方法,在对内存页面进行合并处理后,还测算所述内容相同的内存页面占这些虚拟机总内存页面的程度,如果测算得到的程度低于预设程度a,则说明这次合并处理的效果差,考虑到内存页面中存在容量较大的大页面,这会降低对内容相同内存页面的判断,因此通过拆合步骤对可能存在的内容重复较多的大页面进行处理,检索在预设时间段内被写入频次达预设程度b(即相对活跃)的大页面,相对活跃的大页面被写入多次,其存在重复内容的可能性较大,对这些大页面进行拆分处理,有可能得到内容相同的内存页面,再执行所述内存页面合并步骤,能够压缩内存页面,提高虚拟机内存资源的利用率。
附图说明
16.图1是虚拟机超分方法中空闲内存配置步骤的流程示意图。
17.图2是xen平台的内存分配方法的流程示意图。
18.图3是xen平台的内存配置方法的流程示意图。
具体实施方式
19.本xen平台的内存配置方法详见实施例三、图3。以下结合具体实施方式对本发明创造作进一步详细说明。
20.虚拟化系统包括多个虚拟机和物理内存,虚拟化系统把物理内存虚拟化分配给各个虚拟机,使得各个虚拟机都对应有虚拟内存。
21.实施例一虚拟化系统具有子系统“虚拟机内存的超分系统”来对物理内存进行内存超分处理,其对虚拟机进行管理的虚拟机内存的超分方法(见图1)具体说明如下。
22.虚拟机内存的超分方法包括空闲内存配置步骤和内存调配步骤。在空闲内存配置步骤,由虚拟化系统的各个虚拟机主动分享自身内存,而内存调配步骤则由虚拟化系统对各个虚拟机的内存进行配置。
23.其中,空闲内存配置步骤具体通过如下自主共享步骤、内存验证步骤、释放内存步骤和内存分配步骤实现。
24.自主共享步骤,各个虚拟机各自发起未使用内存自主共享请求。比如存在自该虚拟机启动后预设时间段(如三天)内均未使用的内存,则该虚拟机认为自身所占用的这部分内存属于未使用内存而就其发起自主共享请求。各个虚拟机判断自身未使用内存的标准可以根据其自身运行情况确定,在此不做赘述。
25.内存验证步骤,获取由虚拟机发起的自主共享请求,验证这些自主共享请求中的
未使用内存是否处于空闲状态,若存在未使用内存的验证结果为处于空闲状态,则把该未使用内存标记为空闲内存。
26.优选地,通过连续性验证步骤对空闲内存进行筛选:对于自主共享请求中的未使用内存,识别该未使用内存所对应的物理内存区间,判断若释放当前物理内存区间,其与前后物理内存构成的连续空闲内存区间是否达到预设程度(如20m),若判断结果为是则说明释放该未使用内存所对应的物理内存后能够得到较长的连续空闲内存区间,该释放动作具有较大价值,因此,认为这些自主共享请求中的未使用内存处于空闲状态。
27.优选地,若在一个虚拟机发起未使用内存自主共享请求后的连续的时间段t(如1小时)内,存在多个虚拟机发起未使用内存自主共享请求,则对这些虚拟机一起执行连续性验证步骤,如此则在这些虚拟机中一个或多个所占用物理内存不能达到预设程度的情况下,只要其与其他虚拟机所占用物理内存连续后能达到预设程度,就可以释放这部分连续的物理内存。
28.内存验证步骤中,还验证这些自主共享请求中的未使用内存是否发生过写入,若判断结果为是,则执行如下清理步骤:区隔发生过写入的未使用内存,将该未使用内存进行清零后释放与其对应的物理内存。该清理步骤能够减少内存被释放时或者被释放后再次使用时出现异常的几率。
29.在内存验证步骤中标记空闲内存后的短时间内执行释放内存步骤:释放与空闲内存对应的物理内存。
30.内存分配步骤,优先把释放内存步骤释放的物理内存分配给各个虚拟机。
31.上述空闲内存配置步骤在虚拟化系统运行过程中多次执行,其中,若当前存在释放的物理内存,则在有虚拟机提出内存需求时随时执行内存分配步骤。
32.该虚拟机内存的超分方法还包括内存调配步骤,内存调配步骤对各个虚拟机经空闲内存配置步骤后剩余的内存进行调配。内存调配步骤可以在任意时间执行,比如与上述空闲内存配置步骤一起执行。优选地,空闲内存配置步骤的权重高于内存调配步骤,若在一次内存调配步骤执行期间执行了空闲内存配置步骤,则本次内存调配步骤待当前执行的空闲内存配置步骤的内存分配步骤结束后再执行,若空闲内存配置步骤在还执行完释放内存步骤后一小段时间(如5分钟)内未执行内存分配步骤,则继续执行本次内存调配步骤。
33.内存调配步骤不分配各个虚拟机在空闲内存配置步骤中用于分享的内存,此外,除当前被占用的内存外,内存调配步骤可以对虚拟化系统的其他物理内存进行超分调配,超分调配的方式可采用任何现有技术的虚拟机内存超分方法或内存复用方法,在此不做赘述。
34.该虚拟机内存的超分方法,通过空闲内存配置步骤让各个虚拟机分出能用于共享的内存,而且不将这些内存直接还回云平台,而是把各个虚拟机分出的内存都作为空闲内存再一起优先分配给各个虚拟机,该分配过程无需通过云平台的负载均衡处理,能够快速分配给用户的虚拟机临时使用,这部分内存被使用后用户又根据自身进程分出能用于共享的内存,这个过程不会影响用户使用体验,使得云平台在资源超分和维护用户使用体验之间达到平衡。
35.实施例二在实施例一的虚拟机内存的超分方法中,除了执行内存调配步骤外,还通过对虚
拟机内存地址的配置来实现内存的超分处理。以xen虚拟化平台为例,虚拟化系统具有子系统“xen平台的内存分配系统”,其对虚拟机进行管理的xen平台的内存分配方法(见图2)具体说明如下。
36.该xen平台的内存分配方法在初始时为多个虚拟机分别分配内存地址,把连续的内存地址依次分配给各个虚拟机,这些内存地址指向相同的物理地址c
o
,具体地,对物理地址c
o
建立引用计数,各个虚拟机的内存地址分别以引用计数依次累加的方式指向该物理地址c
o
。若对虚拟机执行写入操作,则以写时复制方式将该虚拟机的内存地址另指向其实际对应的物理地址c
a

37.现有技术中存在虚拟机批量复制生成后并不会立即投入使用的情况,初始时不为虚拟机提供真实的物理地址,则该虚拟机理论上占据的物理存储空间能够被其他虚拟机使用,直到虚拟机实际发生写入操作才为其分配真实物理地址,该xen平台的内存分配方法主要解决这些不活跃又需要占用实际物理内存的虚拟机的问题,从而提高虚拟机内存资源的利用率。
38.其中,若对虚拟机执行写入操作时其实际对应的物理地址c
a
被占用,则另将当前处于空闲状态的物理地址分配给该虚拟机其中,若对虚拟机执行的写入操作与当前指向的物理地址c
o
上已发生的写入操作重复,则该虚拟机保持指向当前物理地址c
o
而不做另指向的操作。
39.实施例三在实施例一的虚拟机内存的超分方法中,除了执行内存调配步骤外,还通过内存页面合并步骤来实现内存的超分处理。以xen虚拟化平台为例,虚拟化系统具有子系统“xen平台的内存配置系统”,其对虚拟机进行管理的xen平台的内存配置方法(见图3)具体说明如下。
40.该xen平台的内存配置方法包括内存页面合并步骤,将多个虚拟机对应的内存页面中内容相同的内存页面进行合并处理。内容相同的内存页面是指写零的内存页面和写入了系统文件的内存页面。对这些内容相同的内存页面分别进行合并处理后,xen平台的内存配置系统执行如下大页面处理步骤的测算步骤和拆合步骤。
41.测算步骤:测算内容相同的内存页面占这些虚拟机总内存页面的程度。该xen平台的内存配置方法,在通过内存页面合并步骤对内存页面进行合并处理后,还通过大页面处理步骤的测算步骤测算内容相同的内存页面占这些虚拟机总内存页面的程度,若测算得到的程度低于预设程度a(如3%),则说明这次合并处理的效果差,考虑到内存页面中存在容量较大的大页面,这会降低对内容相同内存页面的判断,因此再通过拆合步骤(后文详述)对可能存在的内容重复较多的大页面进行处理。
42.其中,若测算得到的程度达到高于预设程度a的预设程度c(如60%),则说明当前内存页面重复率过高,可能是刚复制了一批虚拟机,而这些虚拟机可能将会处理不同的工作,因此,对所进行合并处理的内存页面进行还原处理,然后在完成了还原处理的一段时间之后,依次执行内存页面合并步骤和大页面处理步骤,以免这批虚拟机工作时冲突。
43.拆合步骤:检索在预设时间段内被写入频次达预设程度b(如1小时内10次,即相对活跃)的大页面,对这些大页面进行拆分处理后再执行内存页面合并步骤。相对活跃的大页面被写入多次,其存在重复内容的可能性较大,对这些大页面进行拆分处理,有可能得到内
容相同的内存页面,再执行内存页面合并步骤,能够压缩内存页面,提高虚拟机内存资源的利用率。
44.其中,在拆合步骤中,若检索到大页面在预设时间段内被写入频次达到高于预设程度b(如1小时内10次)的预设程度d(如1小时内20次),则说明该大页面处于非常活跃状态,对其进行拆分可能影响程序进程,因此拒绝对该大页面进行拆分处理。
45.其中,若检索到大页面在预设时间段内被写入频次低于预设程度f(如1小时内1次),该预设程度f低于预设程度b(如1小时内10次),则说明该大页面的活跃度较低,可能存在不允许修改的重复的系统文件,在系统闲时对该写入频次低的大页面进行拆分处理后再执行内存页面合并步骤,能够在减少对系统影响的情况下合并资源,释放内存供系使用,提高虚拟机内存资源的利用率。
46.如上仅为本发明创造的实施方式,不以此限定专利保护范围。本领域技术人员在本发明创造的基础上作出非实质性的变化或替换,仍落入专利保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献