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

技术编号:39306105 阅读:8 留言:0更新日期:2023-11-12 15:54
本申请提供一种虚拟机内存的动态调整系统。该系统包括Balloon驱动,用于:通过Virtio设备获取虚拟机的当前空闲内存;若所述虚拟机的压力标识指示所述虚拟机处于压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的放气量;若所述虚拟机的压力标识指示所述虚拟机处于非压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的充气量,根据所述虚拟机的当前空闲内存和空闲内存第二阈值,确认所述虚拟机的放气量;根据所述放气量或所述充气量控制所述虚拟机进行放气或充气。本申请的方法对内存变化敏感,可以提升充气和放气的效率。率。率。

【技术实现步骤摘要】
虚拟机内存的动态调整系统


[0001]本申请涉及计算机
,尤其涉及一种虚拟机内存的动态调整系统。

技术介绍

[0002]虚拟化是一种可以提高计算机/物理机的资源利用率的技术,单台物理机上可以构建多个虚拟机,构建了虚拟机的物理机对虚拟机来说为宿主机,虚拟机可以占用或共享宿主机的硬件资源。
[0003]为了保证宿主机资源的合理利用,让虚拟出的资源是宿主机本身资源的多倍,现有处理方式有:给虚拟机提供一种Balloon驱动,该Balloon驱动可以将虚拟机中的空闲资源标记为“未在使用中”,并且在其他虚拟机有需要的时候将自己的空闲资源借出给其他虚拟机(称为充气),又在检测到自己需要使用到这些已经借出去的资源时进行回收(称为放气);但是,现有的Balloon驱动技术还不够成熟,导致充气效率和放气效率都比较差。
[0004]于是,本申请为了提升充气效率和放气效率,提出一种虚拟机内存的动态调整方式。

技术实现思路

[0005]本申请提供一种虚拟机内存的动态调整系统,用以解决现有技术中充气效率和放气效率不佳的问题。
[0006]第一方面,本申请提供虚拟机内存的动态调整系统,包括Balloon驱动,所述Balloon驱动用于:
[0007]通过Virtio设备获取虚拟机的当前空闲内存,其中,每个所述Balloon驱动管理一个所述虚拟机;
[0008]若所述虚拟机的压力标识指示所述虚拟机处于压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的放气量,其中,所述放气量为虚拟机回收内存的大小;
[0009]若所述虚拟机的压力标识指示所述虚拟机处于非压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第二阈值,确认所述虚拟机的充气量,其中,所述充气量为虚拟机借出内存的大小,所述空闲内存第二阈值大于所述空闲内存第一阈值;
[0010]若所述虚拟机的压力标识指示所述虚拟机处于非压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的放气量;
[0011]根据所述放气量或所述充气量控制所述虚拟机进行放气或充气,其中,放气为虚拟机回收内存,充气为虚拟机借出内存。
[0012]在一种可能的实现方式中,所述Balloon驱动具体用于:
[0013]所述虚拟机处于压力状态时,若所述虚拟机的当前空闲内存小于所述空闲内存第一阈值,则获取所述空闲内存第一阈值与所述虚拟机的当前空闲内存之间的第一差值;
[0014]将所述第一差值和所述虚拟机当前充气量相比的最小值作为所述虚拟机的放气
量;
[0015]所述虚拟机处于非压力状态时,若所述虚拟机的当前空闲内存大于所述空闲内存第二阈值,则获取所述虚拟机的当前空闲内存与所述空闲内存第二阈值之间的第二差值,并将所述第二差值作为所述虚拟机的充气量;
[0016]所述虚拟机处于非压力状态时,若所述虚拟机的当前空闲内存小于所述空闲内存第一阈值,则获取所述空闲内存第一阈值与所述虚拟机的当前空闲内存的第三差值,并将所述第三差值作为所述虚拟机的放气量。
[0017]在一种可能的实现方式中,所述Balloon驱动还用于:
[0018]当所述虚拟机放气且所述虚拟机的压力标识指示所述虚拟机处于压力状态时,则根据所述放气量释放第一内存块的内存,供所述虚拟机回收;
[0019]当所述虚拟机放气且所述虚拟机的压力标识指示所述虚拟机处于非压力状态时,则根据所述放气量释放第二内存块的内存,供所述虚拟机回收;其中,所述第一内存块的单位容量大于所述第二内存块的单位容量,且所述第一内存块的释放速度大于所述第二内存块的释放速度。
[0020]在一种可能的实现方式中,所述Balloon驱动还用于:
[0021]当所述虚拟机充气且宿主机的压力标识指示所述宿主机处于压力状态时,则根据所述充气量借出所述虚拟机在第一内存块占用的内存;
[0022]当所述虚拟机充气且宿主机的压力标识指示所述宿主机处于非压力状态时,则根据所述充气量借出所述虚拟机在第二内存块占用的内存。
[0023]在一种可能的实现方式中,所述Balloon驱动还用于:
[0024]根据第一预设休眠时间进行休眠,休眠结束后重新获取所述虚拟机的当前空闲内存,并确认所述放气量或所述充气量,控制所述虚拟机进行放气或充气。
[0025]在一种可能的实现方式中,所述系统还包括:VMM设备,所述VMM设备用于:
[0026]通过Virtio设备获取多个虚拟机的当前空闲内存;
[0027]根据宿主机的当前空闲内存和空闲内存第三阈值,获取所述虚拟机的总内存释放量;
[0028]根据多个所述虚拟机的当前空闲内存,确认各个所述虚拟机的内存权重;
[0029]根据所述内存权重和所述总内存释放量,确认每个所述虚拟机的内存释放量。
[0030]在一种可能的实现方式中,所述VMM设备具体用于:
[0031]根据多个所述虚拟机的当前空闲内存,获取所述虚拟机的当前总空闲内存;
[0032]根据每个所述虚拟机的当前空闲内存和所述当前总空闲内存,获取每个所述虚拟机的内存权重。
[0033]在一种可能的实现方式中,所述VMM设备还用于:
[0034]若所述宿主机的压力标识指示所述宿主机处于压力状态,则通过所述Virtio设备通知所述Balloon驱动控制需要进行充气的虚拟机根据所述内存释放量在第三内存块进行充气;
[0035]若所述宿主机的压力标识指示所述宿主机处于非压力状态,则通过所述Virtio设备通知所述Balloon驱动控制需要进行充气的虚拟机根据所述内存释放量在第四内存块进行充气,其中,所述第三内存块的单位容量大于所述第四内存块的单位容量,且所述第三内
存块的释放速度大于所述第四内存块的释放速度。
[0036]在一种可能的实现方式中,所述VMM设备还用于:
[0037]根据第二预设休眠时间进行休眠,休眠结束后重新获取多个所述虚拟机的当前空闲内存,并确认每个所述虚拟机的内存释放量。
[0038]在一种可能的实现方式中,所述Balloon驱动还用于:在内存压力通知模块注册回调函数,根据所述回调函数,获取所述虚拟机的压力标识;
[0039]所述VMM设备还用于:监听所述内存压力通知模块,并根据所述内存压力通知模块,获取所述宿主机的压力标识。
[0040]本申请提供的一种虚拟机内存的动态调整系统,包括Balloon驱动,所述Balloon驱动用于:
[0041]通过Virtio设备获取虚拟机的当前空闲内存,其中,每个所述Balloon驱动管理一个所述虚拟机;若所述虚拟机的压力标识指示所述虚拟机处于压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的放气量,其中,所述放气量为虚拟机回收内存的大小;若所述虚拟机的压力标识指示所述虚拟机处于非压力状态,则根据所述虚拟机的当前空闲内存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机内存的动态调整系统,其特征在于,包括Balloon驱动,所述Balloon驱动用于:通过Virtio设备获取虚拟机的当前空闲内存,其中,每个所述Balloon驱动管理一个所述虚拟机;若所述虚拟机的压力标识指示所述虚拟机处于压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的放气量,其中,所述放气量为虚拟机回收内存的大小;若所述虚拟机的压力标识指示所述虚拟机处于非压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第二阈值,确认所述虚拟机的充气量,其中,所述充气量为虚拟机借出内存的大小,所述空闲内存第二阈值大于所述空闲内存第一阈值;若所述虚拟机的压力标识指示所述虚拟机处于非压力状态,则根据所述虚拟机的当前空闲内存和空闲内存第一阈值,确认所述虚拟机的放气量;根据所述放气量或所述充气量控制所述虚拟机进行放气或充气,其中,放气为虚拟机回收内存,充气为虚拟机借出内存。2.根据权利要求1所述的系统,其特征在于,所述Balloon驱动具体用于:所述虚拟机处于压力状态时,若所述虚拟机的当前空闲内存小于所述空闲内存第一阈值,则获取所述空闲内存第一阈值与所述虚拟机的当前空闲内存之间的第一差值;将所述第一差值和所述虚拟机当前充气量相比的最小值作为所述虚拟机的放气量;所述虚拟机处于非压力状态时,若所述虚拟机的当前空闲内存大于所述空闲内存第二阈值,则获取所述虚拟机的当前空闲内存与所述空闲内存第二阈值之间的第二差值,并将所述第二差值作为所述虚拟机的充气量;所述虚拟机处于非压力状态时,若所述虚拟机的当前空闲内存小于所述空闲内存第一阈值,则获取所述空闲内存第一阈值与所述虚拟机的当前空闲内存的第三差值,并将所述第三差值作为所述虚拟机的放气量。3.根据权利要求1所述的系统,其特征在于,所述Balloon驱动还用于:当所述虚拟机放气且所述虚拟机的压力标识指示所述虚拟机处于压力状态时,则根据所述放气量释放第一内存块的内存,供所述虚拟机回收;当所述虚拟机放气且所述虚拟机的压力标识指示所述虚拟机处于非压力状态时,则根据所述放气量释放第二内存块的内存,供所述虚拟机回收;其中,所述第一内存块的单位容量大于所述第二内存块的单位容量,且所述第一内存块的释放速度大于所述第二内存块的释放速度。4.根据权利要求3所述的系统,其特征在于,所述Balloon驱动还用于...

【专利技术属性】
技术研发人员:岳龙广钟忻
申请(专利权)人:联通数字科技有限公司联通云数据有限公司
类型:发明
国别省市:

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

1