一种虚拟机内存的动态调整系统技术方案

技术编号:12389850 阅读:71 留言:0更新日期:2015-11-25 22:53
本发明专利技术提供一种虚拟机内存的动态调整系统,包括N台服务器和1个内存管理分配平台;各台服务器通过各自的网络通信接口与内存管理分配平台通信;每一台服务器上均构建有n个虚拟机和一个内存调节模块;每一个虚拟机内部均创建一个内存采集模块,用于定时采集其所属虚拟机在当前时刻的内存实际使用值,并通过虚拟串口传递给内存管理分配平台;内存管理分配平台按照预设的内存管理策略判断是否需要对特定虚拟机的内存分配情况进行调整,如果需要,则计算出需要调整的数值,生成内存调整指令,并将内存调整指令发送给特定虚拟机所在的特定服务器。在同一运行环境中,可动态实时调整多台服务器上所有虚拟机内存分配情况,提高整个系统资源利用率。

【技术实现步骤摘要】

本专利技术属于计算机网络
,具体涉及一种虚拟机内存的动态调整系统
技术介绍
虚拟化技术通常是指在单个主机上虚拟化出多个独立的虚拟机,每一台虚拟机((VirtualMachine)为具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统。由于虚拟化技术可极大提高资源利用率,还具有方便管理和升级系统资源的优点,以及能够提供相互隔离、安全、高效的应用执行环境,目前已广泛应用于各个
但是,现有技术中,在主机上创建虚拟机时,需要在创建时为虚拟机分配固定内存,并且,各个虚拟机在运行时也占有该固定内存,该种固定内存分配方式具有以下不足:由于虚拟机在运行时对内存资源的需求是动态变化的,例如,在某一时刻,如果该虚拟机需要使用的内存资源小于初始分配的内存资源,则该种情况导致主机内存资源浪费,降低了主机可支持的虚拟机数量;在另一时刻,如果该虚拟机需要使用的内存资源大于初始分配的内存资源时,则将降低该虚拟机运行性能,甚至导致该虚拟机出现卡顿现象。
技术实现思路
针对现有技术存在的缺陷,本专利技术提供一种虚拟机内存的动态调整系统,在同一运行环境中,可动态实时调整多台服务器上所有虚拟机的内存分配情况,提高整个系统的资源利用率。本专利技术采用的技术方案如下:本专利技术提供一种虚拟机内存的动态调整系统,包括N台服务器和1个内存管理分配平台;每一台服务器均设置有网络通信接口;各台服务器通过各自的网络通信接口与所述内存管理分配平台通信;其中,N为自然数;其中,每一台服务器上均构建有n个虚拟机和一个内存调节模块;其中,n为自然数;每一个所述虚拟机内部均创建一个内存采集模块;所述内存采集模块用于定时采集其所属虚拟机在当前时刻的内存实际使用值,并将所述内存实际使用值及对应的虚拟机标识通过虚拟串口传递给所述网络通信接口;所述网络通信接口用于将本台服务器中各个虚拟机上传的内存实际使用值及对应的虚拟机标识通过网络传输给所述内存管理分配平台;所述内存管理分配平台用于按照预设的内存管理策略判断是否需要对特定虚拟机的内存分配情况进行调整,如果需要,则计算出需要调整的数值,生成内存调整指令,并将所述内存调整指令发送给所述特定虚拟机所在的特定服务器;所述特定服务器在接收到对所述特定虚拟机的内存调整指令后,通过所述内存调节模块调整对所述特定虚拟机的内存分配情况。优选的,所述内存管理分配平台按照预设的内存管理策略判断是否需要对特定虚拟机的内存分配情况进行调整,具体为:所述内存管理分配平台预先设定与特定虚拟机对应的初始参数值,包括:内存分配最大值mem_max;内存最低变化值lowerLimit、内存最高变化值upperLimit;在T调整周期,设分配给特定虚拟机的内存值为mem_old;在T+1调整周期,设内存采集模块上报的特定虚拟机当前时刻的内存实际使用值为mem_average;则:计算mem_old与mem_average的差值M:(1)如果M=0,则得出所述特定虚拟机的分配内存需要增加lowerLimit的控制指令;(2)如果M>0,则执行以下步骤:如果M<=lowerLimit,则得出所述特定虚拟机的内存不需要进行调整的控制指令;如果lowerLimit<M<=upperLimit,则得出所述特定虚拟机的分配内存需要回收lowerLimit的控制指令;如果M>upperLimit,则得出所述特定虚拟机的分配内存需要回收(lowerLimit+upperLimit)/2的控制指令;(3)如果M<0,则执行以下步骤:如果|M|<=lowerLimit,则得出所述特定虚拟机的内存不需要进行调整的控制指令;如果lowerLimit<|M|<=upperLimit,则得出所述特定虚拟机的分配内存需要增加lowerLimit的控制指令;如果|M|>upperLimit,则得出所述特定虚拟机的分配内存需要增加(lowerLimit+upperLimit)/2的控制指令。优选的,所述内存采集模块上报的特定虚拟机当前时刻的内存实际使用值mem_average具体为:预设定采样次数number,所述内存实际使用值mem_average为所述内存采集模块连续number次采样得到的内存实际使用值的平均值。优选的,所述虚拟机为基于QEMU之上的全虚拟化虚拟机。本专利技术的有益效果如下:本专利技术提供的虚拟机内存的动态调整系统,通过外部程序即内存管理分配平台统一管理各服务器上虚拟机的动态分配决策,然后由每台服务器上的执行程序即内存调节模块对虚拟机内存进行独立调整,在保证各服务器上虚拟机使用性能的前提下,实现资源利用的最大化;而对于服务器,通过及时释放虚拟机的空闲内存资源,能够提高服务器支持的虚拟机数量。附图说明图1为本专利技术提供的虚拟机内存的动态调整系统的结构示意图。具体实施方式以下结合附图对本专利技术进行详细说明:本专利技术提供一种虚拟机内存的动态调整系统,需要强调的是,本专利技术涉及到的虚拟机为基于QEMU之上的全虚拟化虚拟机。QEMU是一套由FabriceBellard所编写的模拟处理器的自由软件,是基于GPL协议的开放源代码并且跨平台的虚拟机软件。其与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。如图1所示,虚拟机内存的动态调整系统包括N台服务器和1个内存管理分配平台;每一台服务器均设置有网络通信接口;各台服务器通过各自的网络通信接口与所述内存管理分配平台通信;例如,基于TCP协议进行信息交互;其中,N为自然数;其中,每一台服务器上均构建有n个虚拟机和一个内存调节模块;其中,n为自然数;每一个所述虚拟机内部均创建一个内存采集模块,所述内存采集模块用于定时采集其所属虚拟机在当前时刻的内存实际使用值,并将所述内存实际使用值及对应的虚拟机标识通过虚拟串口传递给所述网络通信接口;其中,内存采集模块是基于特定虚拟机系统的程序,可以基于windows系统,也可以基于linux系统;内存采集模块运行在虚拟机内部,需要根据操作系统本文档来自技高网...

【技术保护点】
一种虚拟机内存的动态调整系统,其特征在于,包括N台服务器和1个内存管理分配平台;每一台服务器均设置有网络通信接口;各台服务器通过各自的网络通信接口与所述内存管理分配平台通信;其中,N为自然数;其中,每一台服务器上均构建有n个虚拟机和一个内存调节模块;其中,n为自然数;每一个所述虚拟机内部均创建一个内存采集模块;所述内存采集模块用于定时采集其所属虚拟机在当前时刻的内存实际使用值,并将所述内存实际使用值及对应的虚拟机标识通过虚拟串口传递给所述网络通信接口;所述网络通信接口用于将本台服务器中各个虚拟机上传的内存实际使用值及对应的虚拟机标识通过网络传输给所述内存管理分配平台;所述内存管理分配平台用于按照预设的内存管理策略判断是否需要对特定虚拟机的内存分配情况进行调整,如果需要,则计算出需要调整的数值,生成内存调整指令,并将所述内存调整指令发送给所述特定虚拟机所在的特定服务器;所述特定服务器在接收到对所述特定虚拟机的内存调整指令后,通过所述内存调节模块调整对所述特定虚拟机的内存分配情况。

【技术特征摘要】
1.一种虚拟机内存的动态调整系统,其特征在于,包括N台服务器和1个
内存管理分配平台;每一台服务器均设置有网络通信接口;各台服务器通过各
自的网络通信接口与所述内存管理分配平台通信;其中,N为自然数;
其中,每一台服务器上均构建有n个虚拟机和一个内存调节模块;其中,n
为自然数;每一个所述虚拟机内部均创建一个内存采集模块;所述内存采集模
块用于定时采集其所属虚拟机在当前时刻的内存实际使用值,并将所述内存实
际使用值及对应的虚拟机标识通过虚拟串口传递给所述网络通信接口;
所述网络通信接口用于将本台服务器中各个虚拟机上传的内存实际使用值
及对应的虚拟机标识通过网络传输给所述内存管理分配平台;
所述内存管理分配平台用于按照预设的内存管理策略判断是否需要对特定
虚拟机的内存分配情况进行调整,如果需要,则计算出需要调整的数值,生成
内存调整指令,并将所述内存调整指令发送给所述特定虚拟机所在的特定服务
器;
所述特定服务器在接收到对所述特定虚拟机的内存调整指令后,通过所述
内存调节模块调整对所述特定虚拟机的内存分配情况。
2.根据权利要求1所述的虚拟机内存的动态调整系统,其特征在于,所述
内存管理分配平台按照预设的内存管理策略判断是否需要对特定虚拟机的内存
分配情况进行调整,具体为:
所述内存管理分配平台预先设定与特定虚拟机对应的初始参数值,包括:
内存分配最大值mem_max;内存最低变化值lowerLimit、内存最高变化值
upperLimit;
在T调整周期,设分配给特定虚拟机的内存值为mem_old;
在T+1调整周期,设内存采集模块上报的特定虚拟机当前时刻的内存实际
使用值为mem_avera...

【专利技术属性】
技术研发人员:杨耀敏吕盛宇庞龙李超向军
申请(专利权)人:北京云巢动脉科技有限公司
类型:发明
国别省市:北京;11

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

1