一种实时虚拟机内存调度方法及装置与流程

文档序号:12463707阅读:268来源:国知局
一种实时虚拟机内存调度方法及装置与流程

本发明涉及云计算技术领域,特别是涉及一种实时虚拟机内存调度方法及装置。



背景技术:

目前,虚拟化是现今云计算底层基础架构的关键性技术,通过对硬件资源、存储、网络以及操作系统的虚拟机化,可以将整个云计算环境整合为一个资源池,使得在服务器应用层面具有可塑性及可控性,这大大降低了服务器在部署、管理和散热方面的成本,实现了节能、自动化、虚拟化、服务整合以及业务的连续性。在虚拟化的技术中,计算资源的虚拟化是其关键组成部分之一,由于计算机系统的性能受限于系统中最慢的部件,因此一台计算机的各项资源配置都决定了计算机性能的高低,为了能够最优化主机中虚拟机各项资源的配置,本文针对虚拟机内存配置问题进行解决。

现今最普遍的内存分配方式为虚拟机内存优先级以及内存预留,即针对一些内存压力敏感型虚拟机设定较高的内存优先级或是内存预留,使得主机内存资源出现竞争时不会让这些虚拟机因为内存占用不足而出现OOM(Out Of Memory)进而虚拟机进程被强制关闭的情况。内存优先级是将虚拟机按照需求的优先级来制定一系列规则,当出现内存竞争时,虚拟机所使用的内存会根据优先级所定的比例进行分配,保证优先级高的虚拟机能够占用较多的内存资源;内存预留则是将主机中的一部分内存指定给特定的虚拟机,且该内存只能由进行过预留设置的虚拟机使用,使得该虚拟机总是能使用这块内存以保证在内存资源紧张的情形下正常运行。然而上述两种方式存在一定的问题,即只能在发生内存资源紧张情形之前进行内存的预先设定,而非实时调度,使得主机在发生内存资源紧张的情形下并不能很好地均衡各个虚拟机之间内存的配置,造成了一定程度上内存资源的浪费。本文提出一种新的内存调度方式,根据主机中各个虚拟机实时占用内存比来动态调整内存资源的配置,使得实时主机内存可以得到最优化配置。



技术实现要素:

本发明的目的是提供一种方法及装置,以实现优化内存配置,避免内存资源的浪费。

为解决上述技术问题,本发明提供一种实时虚拟机内存调度方法,该方法包括:

当主机内存资源超过预设阈值时,判定主机内存资源处于紧张状态;

在主机内存资源处于紧张状态时,查询虚拟机内存使用率;

引入空间内存惩罚系数,计算释放内存大小;

将虚拟机的内存按照计算出来的释放内存大小来进行重新配置。

优选的,所述方法还包括:

对虚拟机进行监控,将虚拟机内存占用状态每隔一段预设时间更新一次。

优选的,所述方法将虚拟机的内存按照计算出来的释放内存大小来进行重新配置之后,还包括:

当主机内存资源使用率降低到预设阈值时,将虚拟机的内存恢复到虚拟机原先的内存配置。

优选的,所述方法所述虚拟机位于主机中,虚拟机的个数为至少一个。

本发明还提供过一种实时虚拟机内存调度装置,用于实现所述实时虚拟机内存调度方法,该装置包括:

判断模块,用于当主机内存资源超过预设阈值时,判定主机内存资源处于紧张状态;

查询模块,用于在主机内存资源处于紧张状态时,查询虚拟机内存使用率;

计算模块,用于引入空间内存惩罚系数,计算释放内存大小;

配置模块,用于将虚拟机的内存按照计算出来的释放内存大小来进行重新配置。

优选的,所述装置还包括:

监控模块,用于对虚拟机进行监控,将虚拟机内存占用状态每隔一段预设时间更新一次。

优选的,所述装置还包括:

恢复模块,用于当主机内存资源使用率降低到预设阈值时,将虚拟机的内存恢复到虚拟机原先的内存配置。

优选的,所述虚拟机位于主机中,虚拟机的个数为至少一个。

本发明所提供的一种实时虚拟机内存调度方法及装置,当主机内存资源超过预设阈值时,判定主机内存资源处于紧张状态;在主机内存资源处于紧张状态时,查询虚拟机内存使用率;引入空间内存惩罚系数,计算释放内存大小;将虚拟机的内存按照计算出来的释放内存大小来进行重新配置。可见,考虑主机内存资源紧张时的虚拟机内存调度,通过检测虚拟机的内存资源使用率,引入空间内存惩罚系数,进而计算虚拟机应该释放的内存,按照计算出来的释放内存大小来进行虚拟机内存的重新配置,以此来缓解主机内存压力,这样在主机内存资源紧张的情形下对主机中的虚拟机进行内存资源实时调度,并且可以根据内存使用情况更加准确地判断虚拟机所要释放的内存大小,以得到最优化的内存配置,实现优化内存配置,避免内存资源的浪费。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明所提供的一种实时虚拟机内存调度方法的流程图;

图2为实时虚拟机内存分配策略实例示意图;

图3为本发明所提供的一种实时虚拟机内存调度装置的结构示意图。

具体实施方式

本发明的核心是提供一种实时虚拟机内存调度方法及装置,以实现优化内存配置,避免内存资源的浪费。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明所提供的一种实时虚拟机内存调度方法的流程图,该方法包括:

S11:当主机内存资源超过预设阈值时,判定主机内存资源处于紧张状态;

S12:在主机内存资源处于紧张状态时,查询虚拟机内存使用率;

S13:引入空间内存惩罚系数,计算释放内存大小;

S14:将虚拟机的内存按照计算出来的释放内存大小来进行重新配置。

可见,该方法考虑主机内存资源紧张时的虚拟机内存调度,通过检测虚拟机的内存资源使用率,引入空间内存惩罚系数,进而计算虚拟机应该释放的内存,按照计算出来的释放内存大小来进行虚拟机内存的重新配置,以此来缓解主机内存压力,这样在主机内存资源紧张的情形下对主机中的虚拟机进行内存资源实时调度,并且可以根据内存使用情况更加准确地判断虚拟机所要释放的内存大小,以得到最优化的内存配置,实现优化内存配置,避免内存资源的浪费。

基于上述方法,进一步的,所述方法还包括:对虚拟机进行监控,将虚拟机内存占用状态每隔一段预设时间更新一次。如此实时对虚拟机内存占用状态进行更新,保证内存调度的实时性。

进一步的,步骤S14之后,还包括:当主机内存资源使用率降低到预设阈值时,将虚拟机的内存恢复到虚拟机原先的内存配置。如此当主机内存资源不再紧张时,适时取消内存分配,以恢复虚拟机内存正常配置,使得主机上各个虚拟机正常运行。

其中,虚拟机位于主机中,虚拟机的个数为至少一个。

其中,步骤S13中,计算释放内存大小的公式如下:

其中KPUNISH表示虚拟机空闲内存惩罚比重,该值越小则所应释放内存值就越大,Vmi_Shares表示虚拟机内存优先级的值,Vmi_act表示虚拟机Vmi当前正在使用的内存值,Vmi_free表示虚拟机Vmi当前剩余的内存值,ρ表示空闲内存惩罚系数,通常可以将其值设为4,最终计算出的Vmi_dist表示虚拟机应该释放的内存大小。

基于本方法,具体的,首先设定激活主机实时虚拟机内存配置策略阈值,只有当主机内存资源超过一定阈值时,判定该主机内存资源处于紧张状态,进而开始执行实时虚拟机内存调度策略。其次利用查询出的各个虚拟机内存使用率,以计算后续虚拟机所需要释放的内存大小,引入一个空闲内存惩罚系数ρ,通过虚拟机内存使用率来计算释放内存大小,再将虚拟机的内存按照上述步骤计算出的释放内存大小来进行配置,以达到优化主机内存资源配置最优化的效果。另外当主机内存资源不再紧张时,适时取消内存分配,以恢复虚拟机内存正常配置,使得主机上各个虚拟机正常运行。

本发明提供的实时虚拟机内存调度方法,充分考虑在主机内存资源紧张时虚拟机的内存分配问题,通过实时检测主机中各个虚拟机的内存使用率,进而通过空闲内存惩罚系数来计算各个虚拟机应该释放的内存,以最优化主机中虚拟机各项资源的配置,同时设定触发主机分配虚拟机内存的阈值,只有当主机内存使用率超过该阈值时触发虚拟机内存分配策略,并且主机内存使用率低于某一阈值时取消虚拟机内存分配,恢复虚拟机原先内存配置。主机资源紧张时的虚拟机内存调度策略步骤包括:(1)激活虚拟机内存配置策略阈值设定;(2)查询主机中各个虚拟机内存使用率;(3)根据步骤(2)中的内存使用率来计算各个虚拟机应该释放的内存大小;(4)根据步骤(3)计算出的值来重新分配虚拟机的内存,以达到主机内存资源最优化配置;(5)设定取消虚拟机内存配置策略阈值,当主机内存使用率低于该阈值时,恢复各个虚拟机原先的内存配置。

其中,设定激活主机实时虚拟机内存配置策略阈值,只有当主机内存资源超过一定阈值时,判定该主机内存资源处于紧张状态,进而开始执行实时虚拟机内存调度策略。查询主机内存使用率,利用查询出的各个虚拟机内存使用率,以计算后续虚拟机所需要释放的内存大小。引入一个空闲内存惩罚系数ρ,通过虚拟机内存使用率来计算该值。将虚拟机的内存按照上述步骤计算出的释放内存大小来进行配置,以达到优化主机内存资源配置最优化的效果。并且,当主机内存资源不再紧张时,适时取消内存分配,以恢复虚拟机内存正常配置,使得主机上各个虚拟机正常运行。

更详细的,本方法主要考虑的是主机实施分配内存的特点,考虑主机内存资源紧张时的虚拟机内存调度,通过检测当前所有虚拟机的内存资源使用率并考虑虚拟机内存优先级的影响,进而计算虚拟机应该释放的内存,以此来缓解主机内存压力,在主机内存资源占用率降低到一定程度之后再一次恢复各个虚拟机的原始内存配置,以更好地维持所有虚拟机的正常运行。实现该虚拟机内存调度策略的步骤如下:

1.首先设定主机内存占用阈值,当主机内存资源消耗超过该阈值时,再开始执行虚拟机内存调度策略,以保证该内存调度只在主机内存资源紧张时执行;

2.当主机内存使用率达到阈值时,激活实时虚拟机内存调度策略,开始监控主机中各个虚拟机的内存所占比例,并且虚拟机内存占用状态需要在一定时间内更新一次,以保证该内存调度策略的实时性;

3.计算虚拟机应该释放的内存时,结合步骤2中得出的每个虚拟机内存占用情况以及虚拟机内存优先级的值,同时引入空闲内存惩罚系数ρ来计算各个虚拟机在内存资源紧张的情况下应该分配出的内存大小,计算释放内存大小的公式如下:

其中KPUNISH表示虚拟机空闲内存惩罚比重,该值越小则所应释放内存值就越大,Vmi_Shares表示虚拟机内存优先级的值,Vmi_act表示虚拟机Vmi当前正在使用的内存值,Vmi_free表示虚拟机Vmi当前剩余的内存值,ρ表示空闲内存惩罚系数,通常可以将其值设为4,最终计算出的Vmi_dist表示虚拟机应该释放的内存大小;

4.当主机内存使用率超过一定阈值时,根据步骤2中计算出的虚拟机释放内存大小来对各个虚拟机的实际可用内存进行相应的限制;

5.主机内存使用率下降到某一特定阈值时,取消步骤4中对虚拟机内存的限制,以确保只在主机内存资源不足的情况下才启用实时虚拟机内存调度策略。

本方法的有益效果是:具有实时虚拟机内存分配策略的特性,主要是指在主机内存资源紧张的情形下对主机中的虚拟机进行内存资源实时调度的方式,并且可以根据内存使用情况以及内存优先级来更加准确地判断虚拟机所要释放的内存大小,以得到最优化的内存配置,再通过增加激活以及取消实时内存分配策略,保证主机内存在正常情况下所有虚拟机能够按照预定配置正常运行,提高了虚拟机管理质量。

如图2所示,设定激活虚拟机内存调度阈值为90%,即主机内存使用率达到90%开始执行虚拟机内存调度策略,查询各个虚拟机内存使用状态,如图2中4台虚拟机的内存配置均为4G,空闲内存分别是3G、2G、1G、1G,但是虚拟机Vm4的内存优先级设定为2048,下一步根据内存分配策略中的公式来计算最终虚拟机所需要释放的内存,进而将各个虚拟机内存根据计算结果进行重新分配,使得释放出的内存得以减缓主机内存压力,如图2所示,4台虚拟机内存配置分别变为1.4G、2.3G、3.2G、3.5G,虽然虚拟机Vm3和虚拟机Vm4均剩余1G内存,但由于虚拟机Vm4内存优先级要高于Vm3,因此Vm4配置后的内存要大于Vm3,直至主机内存使用率降低到一定阈值则取消实时虚拟机内存配置,恢复到虚拟机原先的内存配置。

请参考图3,图3为本发明所提供的一种实时虚拟机内存调度装置的结构示意图,用于实现上述实时虚拟机内存调度方法,该装置包括:

判断模块101,用于当主机内存资源超过预设阈值时,判定主机内存资源处于紧张状态;

查询模块102,用于在主机内存资源处于紧张状态时,查询虚拟机内存使用率;

计算模块103,用于引入空间内存惩罚系数,计算释放内存大小;

配置模块,用于将虚拟机的内存按照计算出来的释放内存大小来进行重新配置。

可见,该装置考虑主机内存资源紧张时的虚拟机内存调度,通过检测虚拟机的内存资源使用率,引入空间内存惩罚系数,进而计算虚拟机应该释放的内存,按照计算出来的释放内存大小来进行虚拟机内存的重新配置,以此来缓解主机内存压力,这样在主机内存资源紧张的情形下对主机中的虚拟机进行内存资源实时调度,并且可以根据内存使用情况更加准确地判断虚拟机所要释放的内存大小,以得到最优化的内存配置,实现优化内存配置,避免内存资源的浪费。

基于上述装置,进一步的,所述装置还包括:监控模块,用于对虚拟机进行监控,将虚拟机内存占用状态每隔一段预设时间更新一次。如此利用监控模块实时对虚拟机内存占用状态进行更新,保证内存调度的实时性。

进一步的,所述装置还包括:恢复模块,用于当主机内存资源使用率降低到预设阈值时,将虚拟机的内存恢复到虚拟机原先的内存配置。如此利用恢复模块,当主机内存资源不再紧张时,适时取消内存分配,以恢复虚拟机内存正常配置,使得主机上各个虚拟机正常运行。

其中,所述虚拟机位于主机中,虚拟机的个数为至少一个。

其中,计算模块计算释放内存大小的公式如下:

其中KPUNISH表示虚拟机空闲内存惩罚比重,该值越小则所应释放内存值就越大,Vmi_Shares表示虚拟机内存优先级的值,Vmi_act表示虚拟机Vmi当前正在使用的内存值,Vmi_free表示虚拟机Vmi当前剩余的内存值,ρ表示空闲内存惩罚系数,通常可以将其值设为4,最终计算出的Vmi_dist表示虚拟机应该释放的内存大小。

以上对本发明所提供的一种实时虚拟机内存调度方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1