一种内存资源分配方法及装置制造方法及图纸

技术编号:12787735 阅读:98 留言:0更新日期:2016-01-28 16:17
本发明专利技术公开了一种内存资源分配方法及装置,该方法包括:当出现内存资源竞争时,获取至少一个第一虚拟机中每个第一虚拟机占用的内存资源及至少一个第二虚拟机中每个第二虚拟机占用的内存资源,其中,第一虚拟机为优先分配内存资源的虚拟机,第二虚拟机为不优先分配内存资源的虚拟机;基于每个第一虚拟机占用的内存资源及每个第二虚拟机占用的内存资源按照预设原则进行计算,得到每个第二虚拟机的限制内存;将Cgroups中与每个第二虚拟机对应的控制该第二虚拟机占用的内存资源的内存资源限制参数的值设置为该第二虚拟机的限制内存。通过本申请公开的上述技术方案,通过Cgroups实现内存资源的优先分配。

【技术实现步骤摘要】

本专利技术设及云计算
,更具体地说,设及一种内存资源分配方法及装置
技术介绍
Cgroupskontrolgroups,控制族群)是一种可W限制、记录及隔离进程组所 使用的物理资源的机制。具体来说,其可为系统中所运行进程的用户定义族群分配资源, 如CPU空间、系统内存资源、网络带宽等或者运些资源的组合,还可W通过监控配置的 Cgroups拒绝Cgroups访问某些资源,甚至可W在运行的系统中动态配置用户的Cgroups 等。 Cgroups提供了W下四大功能:资源限制、优先级分配、资源统计及进程控制。然 而,在优先级分配中,其只包含有分配CPU时间片数量W及硬盘10带宽大小的优先级设置, 并没有实现关于内存资源优先分配方面的功能,即,现有技术中使用Cgroups无法实现内 存资源的优先分配。 综上所述,现有技术中的Cgroups存在无法实现内存资源的优先分配的问题。
技术实现思路
阳0化]本专利技术的目的是提供一种内存资源分配方法及装置,W使用Cgroups实现内存资 源的优先分配。 为了实现上述目的,本专利技术提供如下技术方案: 一种内存资源分配方法,包括: 当出现内存资源竞争时,获取至少一个第一虚拟机中每个第一虚拟机占用的内存 资源及至少一个第二虚拟机中每个第二虚拟机占用的内存资源,其中,所述第一虚拟机为 优先分配内存资源的虚拟机,所述第二虚拟机为不优先分配内存资源的虚拟机; 基于每个所述第一虚拟机占用的内存资源及每个所述第二虚拟机占用的内存资 源按照预设原则进行计算,得到每个所述第二虚拟机的限制内存; 将Cgroups中与每个所述第二虚拟机对应的控制该第二虚拟机占用的内存资源 的内存资源限制参数的值设置为该第二虚拟机的限制内存。 优选的,基于每个所述第一虚拟机占用的内存资源及每个所述第二虚拟机占用的 内存资源按照预设原则进行计算,得到每个所述第二虚拟机的限制内存,包括: 确定任一第二虚拟机为目标虚拟机; 按照下列公式计算所述目标虚拟机的限制内存:阳01引其中,Lvmk表示所述目标虚拟机的限制内存,Mvmk表示所述目标虚拟机占用的内 存资源,Mp表示全部虚拟机可占用的总内存资源,表示每个所述第一虚拟机占 用的内存资源的总和,表示每个所述第二虚拟机占用的内存资源的总和。 阳016] 优选的,将Cgroups中与每个所述第二虚拟机对应的控制该第二虚拟机占用的内 存资源的内存资源限制参数的值设置为该第二虚拟机的限制内存,包括: 确定所述目标虚拟机在Cgroups中对应的子结构为目标子结构; 将所述目标子结构中包含的soft_limit_in_bytes参数的值设置为所述目标虚 拟机的限制内存。 优选的,还包括: 获取每个虚拟机的内存压力敏感度,并确定其内存压力敏感度大于或者等于预设 值的虚拟机为第一虚拟机,确定其内存压力敏感度小于预设值的虚拟机为第二虚拟机。 优选的,还包括: 实时接收外界输入的优先级设置指令,依据所述优先级设置指令确定与所述优先 级设置指令对应的虚拟机为第一虚拟机或者第二虚拟机。 一种内存资源分配装置,包括: 获取模块,用于当出现内存资源竞争时,获取至少一个第一虚拟机中每个第一虚 拟机占用的内存资源及至少一个第二虚拟机中每个第二虚拟机占用的内存资源,其中,所 述第一虚拟机为优先分配内存资源的虚拟机,所述第二虚拟机为不优先分配内存资源的虚 拟机;计算模块,用于基于每个所述第一虚拟机占用的内存资源及每个所述第二虚拟机 占用的内存资源按照预设原则进行计算,得到每个所述第二虚拟机的限制内存; 阳0%] 设置模块,用于将Cgroups中与每个所述第二虚拟机对应的控制该第二虚拟机占 用的内存资源的内存资源限制参数的值设置为该第二虚拟机的限制内存。 优选的,所述计算模块包括: 第一确定单元,用于确定任一第二虚拟机为目标虚拟机; 计算单元,用于按照下列公式计算所述目标虚拟机的限制内存:阳03U 其中,Lvmk表示所述目标虚拟机的限制内存,Mvmk表示所述目标虚拟机占用的内 存资源,Mp表示可占用总内存资源,表示每个所述第一虚拟机占用的内存资 源的总和,表示每个所述第二虚拟机占用的内存资源的总和。 优选的,所述设置模块包括: 第二确定单元,用于确定所述目标虚拟机在Cgroups中对应的子结构为目标子结 构; 设置单元,用于将所述目标子结构中包含的soft_limit_in_^tes参数的值设置 为所述目标虚拟机的限制内存。 阳03引优选的,还包括: 预备模块,用于获取每个虚拟机的内存压力敏感度,并确定其内存压力敏感度大 于或者等于预设值的虚拟机为第一虚拟机,确定其内存压力敏感度小于预设值的虚拟机为 第二虚拟机。 优选的,还包括: 优先级设置模块,用于实时接收外界输入的优先级设置指令,依据所述优先级设 置指令确定与所述优先级设置指令对应的虚拟机为第一虚拟机或者第二虚拟机。 本专利技术提供的一种内存资源分配方法及装置,该方法包括:当出现内存资源竞争 时,获取至少一个第一虚拟机中每个第一虚拟机占用的内存资源及至少一个第二虚拟机中 每个第二虚拟机占用的内存资源,其中,所述第一虚拟机为优先分配内存资源的虚拟机,所 述第二虚拟机为不优先分配内存资源的虚拟机;基于每个所述第一虚拟机占用的内存资源 及每个所述第二虚拟机占用的内存资源按照预设原则进行计算,得到每个所述第二虚拟机 的限制内存;将Cgroups中与每个所述第二虚拟机对应的控制该第二虚拟机占用的内存资 源的内存资源限制参数的值设置为该第二虚拟机的限制内存。通过本申请公开的上述技术 方案,当出现内存资源竞争,即全部虚拟机可用的内存资源小于全部虚拟机实际需占用的 内存资源时,需要基于优先分配内存资源的虚拟机占用的内存资源,及不优先分配内存资 源的虚拟机占用的内存资源按照预设原则计算每个不优先分配内存资源的虚拟机的限制 内存,将Cgroups中对应的内存资源限制参数设置成对应虚拟机的限制内存,由此,通过限 制不优先分配内存资源的虚拟机所占用的内存资源,使得全部虚拟机可用的内存资源小于 或者等于全部虚拟机实际占用的内存资源,从而通过Cgroups实现内存资源的优先分配。【附图说明】 W40] 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据 提供的附图获得其他的附图。 图1为本专利技术实施例提供的一种内存资源分配方法的流程图;图2为本专利技术实施例提供的一种内存资源分配装置的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 W44] 请参阅图1,其示出了本专利技术实施例提供的一种内存资源分配方法的流程图,可W 包括W下步骤: S11 :当出现内存资源竞争时,获取至少一个第一虚拟机中每个第一虚拟机占用的 内存资源及至少一个第二虚拟机中每个本文档来自技高网...

【技术保护点】
一种内存资源分配方法,其特征在于,包括:当出现内存资源竞争时,获取至少一个第一虚拟机中每个第一虚拟机占用的内存资源及至少一个第二虚拟机中每个第二虚拟机占用的内存资源,其中,所述第一虚拟机为优先分配内存资源的虚拟机,所述第二虚拟机为不优先分配内存资源的虚拟机;基于每个所述第一虚拟机占用的内存资源及每个所述第二虚拟机占用的内存资源按照预设原则进行计算,得到每个所述第二虚拟机的限制内存;将Cgroups中与每个所述第二虚拟机对应的控制该第二虚拟机占用的内存资源的内存资源限制参数的值设置为该第二虚拟机的限制内存。

【技术特征摘要】

【专利技术属性】
技术研发人员:解琰
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1