The invention discloses a limit processing method and device, a CPU virtual machine, the method includes: determining the number of physical quantity of CPU virtual machine CPU is greater than the number of bound; when the virtual machine CPU is higher than that of the physical CPU, the ratio of the number of the physical quantity calculation CPU with the CPU virtual machine; product limit percentage using virtual machine CPU acquisition and time period, and multiplied by the first ratio calculation of the virtual machine CPU in a unit of time available CPU time; using libvirt interface to set the virtual machine available CPU CPU time in a unit of time, for the limit of the virtual machine CPU. The CPU virtual machine limit processing method and device provided by the application, can be used to achieve the proportion of conversion to the CPU limit value, and reduces the negative effects caused by the CPU competition, to meet the overall robustness and realize the function, achieve the precise management of virtual machine to.
【技术实现步骤摘要】
一种虚拟机CPU的限额处理方法和装置
本专利技术属于云计算
,特别是涉及一种虚拟机CPU的限额处理方法和装置。
技术介绍
RedHatEnterpriseLinux6提供新的内核功能:控制族群(controlgroup简称Cgroup)。Cgroup可为系统中所运行任务(进程)的用户定义组群分配资源--比如CPU时间、系统内存、网络带宽或者这些资源的组合。Libvirt正是利用这一功能来实现CPU的时间调度,进一步实现虚拟机CPU限额的功能。Libvirt将这一配置作为虚拟机引导时启用,再重启之后重新建立预先定义的Cgroup进而保存CPU的限额配置。然而,利用上述技术对虚拟机CPU进行限额处理时会出现如下问题:在虚拟机的虚拟CPU数量大于绑定在物理主机逻辑核数量时,所设定的CPU限额值与实际达到的CPU资源额度并不相符。
技术实现思路
为解决上述问题,本专利技术提供了一种虚拟机CPU的限额处理方法和装置,能够采用等比例换算来实现所要达到的CPU限额值,减少了因CPU竞争压力而产生的不利影响,满足了实现此功能的全面性和健壮性,达到了精确管理虚拟机的目的。本专利技术提供的一种虚拟机CPU的限额处理方法,包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时 ...
【技术保护点】
一种虚拟机CPU的限额处理方法,其特征在于,包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。
【技术特征摘要】
1.一种虚拟机CPU的限额处理方法,其特征在于,包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。2.根据权利要求1所述的虚拟机CPU的限额处理方法,其特征在于,在所述确定虚拟机CPU的数量是否大于绑定的物理CPU的数量之前还包括:确定是否已经设定所述虚拟机CPU的份额;当已经设定所述虚拟机CPU的份额且所述物理CPU资源发生抢占时,根据所述虚拟机CPU的份额来进行资源的调度。3.根据权利要求2所述的虚拟机CPU的限额处理方法,其特征在于,所述根据所述虚拟机CPU的份额来进行资源的调度包括:利用单个虚拟机已经占有的CPU资源除以所述虚拟机的份额,得到单份额值;当发生资源抢占时,优先为单份额值小的虚拟机分配所述物理CPU的资源,直至发生资源抢占的所有虚拟机的单份额值全部相等。4.根据权利要求3所述的虚拟机CPU的限额处理方法,其特征在于,所述确定是否已经设定所述虚拟机CPU的份额包括:查询所述虚拟机的份额值是否为1024,如果是,则确定没有设定所述虚拟机CPU的份额,如果否,则确定设定了所述虚拟机CPU的份额。5.一种虚...
【专利技术属性】
技术研发人员:解琰,曾鹏,庞慷宇,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。