虚拟机中闲置资源的分配方法和装置制造方法及图纸

技术编号:24090030 阅读:21 留言:0更新日期:2020-05-09 07:39
本申请提出了一种虚拟机中闲置资源的分配方法和装置,其中,虚拟机之上运行至少一个开发环境容器,方法包括:检测开发环境容器的使用状态;根据开发环境容器的使用状态判断开发环境容器是否处于闲置状态;以及如果判断开发环境容器处于闲置状态,则将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中。由此,在开发环境容器处于闲置状态时,将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中,减少闲置内存占用问题。

Allocation method and device of idle resources in virtual machine

【技术实现步骤摘要】
虚拟机中闲置资源的分配方法和装置
本申请涉及计算机
,尤其涉及一种虚拟机中闲置资源的分配方法和装置。
技术介绍
目前,越来越多机器学习平台为用户提供数据处理、建模开发、模型训练的一站式开发环境。如何为数据处理、模型训练作业等分配资源、对资源进行高效管理是一个重要的技术问题。比如用户使用开发环境进行开发虽然是一个长驻操作,但不是一个永久性操作,用户夜间休息、假期休息等都属于无效占用时间。因此,可以在用户使用时开发环境存在、用户不使用时将资源可以释放出去。相关技术中,在机器学习平台中设置资源监控模块,用于监控每个开发环境容器的使用情况,发现不使用结束该开发环境容器的服务进程实现资源释放。
技术实现思路
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的第一个目的在于提出一种虚拟机中闲置资源的分配方法,虚拟机之上运行至少一个开发环境容器,包括以下步骤:检测所述开发环境容器的使用状态;根据所述开发环境容器的使用状态判断所述开发环境容器是否处于闲置状态;以及如果判断所述开发环境容器处于闲置状态,则将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中。为达上述目的,本申请第二方面实施例提出了一种虚拟机中闲置资源的分配装置,虚拟机之上运行至少一个开发环境容器,包括:检测模块,用于检测所述开发环境容器的使用状态;判断模块,用于根据所述开发环境容器的使用状态判断所述开发环境容器是否处于闲置状态;以及>释放模块,用于判断所述开发环境容器处于闲置状态时,将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中。为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,执行如上述实施例描述的虚拟机中闲置资源的分配方法。为达上述目的,本申请第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行如上述实施例描述的虚拟机中闲置资源的分配方法。为了实现上述目的,本申请第五方面实施例提出了一种非临时性计算机可读存储介质,该程序被处理器执行时实现如上述实施例描述的虚拟机中闲置资源的分配方法。本申请提供的及技术方案,至少具有如下有益技术效果:检测开发环境容器的使用状态,并根据开发环境容器的使用状态判断开发环境容器是否处于闲置状态,以及如果判断开发环境容器处于闲置状态时将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中。由此,在开发环境容器处于闲置状态时,将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中,减少闲置内存占用问题。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本申请一个实施例的虚拟机中闲置资源的分配方法的流程图;图2是根据本申请另一个实施例的虚拟机中闲置资源的分配方法的流程图;图3是根据本申请又一个实施例的虚拟机中闲置资源的分配方法的流程图;图4是根据本申请一个实施例的虚拟机中闲置资源的分配方法的示例图;图5是根据本申请一个实施例的虚拟机中闲置资源的分配装置的结构示意图;图6是根据本申请另一个实施例的虚拟机中闲置资源的分配装置的结构示意图;以及图7是根据本申请又一个实施例的虚拟机中闲置资源的分配装置的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。本申请提供了一种虚拟机中闲置资源的分配方法,在本申请的实施例中,在开发环境容器处于闲置状态时,将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中,减少闲置内存占用问题。下面参考附图描述本申请实施例的虚拟机中闲置资源的分配方法和装置。图1是根据本申请一个实施例的全景页面切换时拍摄点的移动控制虚拟机中闲置资源的分配方法的流程图,如图1所示,该方法包括以下步骤:步骤101,检测开发环境容器的使用状态。具体地,机器学习平台可以为用户提供数据处理、建模开发、模型训练的一站式开发环境。在本申请实施例中,可以在在物理机上创建多个KVM虚拟机(Kernel-basedVirtualMachine,一个开源的系统虚拟化模块),在KVM虚机上可以部署一个或者多个开发环境容器作为机器学习开发环境。可以理解的是,在执行本申请实施例的虚拟机中闲置资源的分配方法时,虚拟机之上运行至少一个开发环境容器。其中,可以采用很多种方式检测开发环境容器的使用状态,举例说明如下:第一种示例,获取开发环境容器的CPU(CentralProcessingUnit,中央处理器)的占用率,并将CPU占用率与预设的第一阈值进行比较,从而根据一段时间内的比较结果确定开发环境容器的使用状态。第二种示例,预先设置的监控策略模块,通过该监控策略模块对开发环境容器的活动状态进行监控,并根据监控结果确定开发环境容器的使用状态。可以理解的是,本申请实施例中的开发环境容器的使用状态可以是闲置状态、占用状态等。步骤102,根据开发环境容器的使用状态判断开发环境容器是否处于闲置状态。步骤103,如果判断开发环境容器处于闲置状态,则将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中。具体地,在判断开发环境容器处于闲置状态时,可以将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中。也就是说,用户没有对页面进行操作,开发环境容器对应的资源属于无效占用时间,这时候可以将该资源释放至开发环境容器所属的虚拟机之中。作为一种可能实现的方式,使用Dockerswap技术将开发环境容器中的资源释放至开发环境容器所属的虚拟机之中。其中,Dockerswap技术是Docker基于Linux内核Cgroup的技术。在宿主机系统中可以在磁盘配置swap分区用来存放非活跃的匿名页。因此,Cgroup作为Docker资源管理的Driver,可以通过修改开发环境容器Cgroup中参数来动态调整Docker容器可用的宿主机swap空间,通过修改对应参数来动态调整宿主机可用资源。当增大swap参数,减小资源参数时,就可以达到将开发环境容器中的资源释放的效果。综上,本申请实施例的虚拟机中闲置资源的分配方法,检测开发环境容器的使用状态,并根据开发环境容器的使用状态判断开发环境容器是否处于闲置状态,以及如果判断开发环境容器处于闲置状态时将开发环境容器对应的资源释放至开发环境容器所属的虚拟机之中。由此,在开本文档来自技高网...

【技术保护点】
1.一种虚拟机中闲置资源的分配方法,其特征在于,虚拟机之上运行至少一个开发环境容器,所述方法包括:/n检测所述开发环境容器的使用状态;/n根据所述开发环境容器的使用状态判断所述开发环境容器是否处于闲置状态;以及/n如果判断所述开发环境容器处于闲置状态,则将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中。/n

【技术特征摘要】
1.一种虚拟机中闲置资源的分配方法,其特征在于,虚拟机之上运行至少一个开发环境容器,所述方法包括:
检测所述开发环境容器的使用状态;
根据所述开发环境容器的使用状态判断所述开发环境容器是否处于闲置状态;以及
如果判断所述开发环境容器处于闲置状态,则将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中。


2.根据权利要求1所述的虚拟机中闲置资源的分配方法,其特征在于,在所述将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中之后,还包括:
所述虚拟机将所述资源分配至其他开发环境容器。


3.根据权利要求1所述的虚拟机中闲置资源的分配方法,其特征在于,在所述将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中之后,还包括:
将所述虚拟机的资源释放至所述虚拟机所属的物理机。


4.根据权利要求1所述的虚拟机中闲置资源的分配方法,其特征在于,在所述将所述开发环境容器对应的资源释放至所述开发环境容器所属的虚拟机之中之后,还包括:
继续检测所述开发环境容器的使用状态;
根据所述开发环境容器的使用状态判断所述开发环境容器是否处于唤醒状态;
如果判断所述开发环境容器处于唤醒状态,则将所述开发环境容器释放的资源重新加载至所述开发环境容器。


5.根据权利要求1所述的虚拟机中闲置资源的分配方法,其特征在于,其中,

【专利技术属性】
技术研发人员:李子恒韩超杨嘉义陈凯李德禹陈嘉文
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1