CPU资源控制方法、装置以及计算机可读存储介质制造方法及图纸

技术编号:38432561 阅读:11 留言:0更新日期:2023-08-11 14:19
本发明专利技术提供一种CPU资源控制方法、装置以及计算机可读存储介质,方法包括:检测虚拟机中多个进程占用的CPU资源,其中,虚拟机中具有虚拟的多个CPU;将多个进程中占用CPU资源超过预设阈值的进程作为需要调整使用CPU的目标进程,根据目标进程已经被调整的次数,计算目标进程待使用的CPU数量,其中,随目标进程已经被调整的次数增加,目标进程待使用的CPU数量减少直至为1;在目标进程待使用的CPU数量为1时,不再对目标进程进行检测;根据目标进程待使用的CPU数量、目标进程占用的CPU资源以及多个CPU剩余的资源,从多个CPU中选择至少一个CPU供目标进程使用。本发明专利技术能够有效降低虚拟机CPU负载均衡带来的资源浪费。CPU负载均衡带来的资源浪费。CPU负载均衡带来的资源浪费。

【技术实现步骤摘要】
CPU资源控制方法、装置以及计算机可读存储介质


[0001]本专利技术涉及计算机
,具体涉及一种CPU资源控制方法、装置以及计算机可读存储介质。

技术介绍

[0002]在SMP(Symetric Multi Processing,对称多处理)系统里,为有效利用每个CPU的算力,操作系统会自动做CPU负载均衡,这个操作会产生进程迁移,例如把进程从CPU A迁移到CPU B运行。此迁移操作在底层由名为IPI(Inter Processor Interrupt,核间中断)的硬件机制来实现。
[0003]如图1所示,当操作系统运行在虚拟机中时,原本由硬件机制来实现的核间中断,会由Hypervisor(虚拟机监控器)代为实现,具体方式是:虚拟机中vCPU1(Virtual CPU,虚拟CPU)给vCPU2发出的vIPI(Virtual Inter Processor Interrupt,虚拟核间中断),会在vCPU2收到虚拟中断之前,陷入到Hypervisor里,由Hypervisor做一系列软硬件相结合的操作,再从Hypervisor退到虚拟机里,让vCPU2收到。从虚拟机中操作系统的视角看,操作系统无法感知这套“陷入监控器

退回虚拟机”的操作,只是观测到vIPI的处理比在物理CPU上更加耗时了,从系统整体看,整个由Hypervisor做的“陷入监控器

退回虚拟机”的vIPI操作,因为比原有的直接硬件操作路径更长,引入了额外的CPU开销,这种开销占用了进程的CPU资源,因而是一种CPU资源浪费。
[0004]更进一步的,以sEL4(一种虚拟机监控器类型)Hypervisor为例,某些Hypervisor对单个vIPI的处理耗时,会受到全系统vIPI总量的影响,因为全系统所有vIPI会放在一个全局队列里,Hypervisor遍历此全局队列,依次对每个vIPI做出相应操作。因此,虚拟机发出的vIPI越多,Hypervisor要处理的全局vIPI队列就越长,做单个vIPI的开销造成的CPU资源浪费就越多。
[0005]为降低CPU资源浪费,目前各相关技术中,有针对虚拟化场景中虚拟机vCPU负载均衡的技术,但现有的CPU自动负载均衡技术不具备识别Hypervisor处理vIPI增加的CPU消耗的能力,只是单纯从每CPU进程队列长度去做均衡,在进程数量较多时,因产生大量进程在各CPU间迁移,而造成大量的vIPI,这些vIPI产生的初衷是为了平衡CPU算力资源,却造成了大量算力浪费。

技术实现思路

[0006]为了克服上述缺陷,提出了本专利技术,以提供减少不必要vIPI、降低虚拟化应用场景中CPU资源浪费的CPU资源控制方法、装置以及计算机可读存储介质。
[0007]第一方面,本专利技术提供一种CPU资源控制方法,包括:检测虚拟机中多个进程占用的CPU资源,其中,所述虚拟机中具有虚拟的多个CPU;将所述多个进程中占用CPU资源超过预设阈值的进程作为需要调整使用CPU的目标进程,根据所述目标进程已经被调整的次数,计算所述目标进程待使用的CPU数量,其中,随所述目标进程已经被调整的次数增加,所述
目标进程待使用的CPU数量减少直至为1;在所述目标进程待使用的CPU数量为1时,不再对所述目标进程进行检测;根据所述目标进程待使用的CPU数量、所述目标进程占用的CPU资源以及所述多个CPU剩余的资源,从所述多个CPU中选择至少一个CPU供所述目标进程使用。
[0008]优选地,前述的CPU资源控制方法,在“将所述多个进程中占用CPU资源超过预设阈值的进程作为需要调整使用CPU的目标进程”的步骤之前,还包括:为所述多个进程中的每个进程设置对应的阈值。
[0009]优选地,前述的CPU资源控制方法,“为所述多个进程中的每个进程设置对应的阈值”的步骤包括:根据所述虚拟机所执行任务对所述每个进程的依赖程度,为所述每个进程设置对应的阈值。
[0010]优选地,前述的CPU资源控制方法,“为所述多个进程中的每个进程设置对应的阈值”的步骤包括:根据所述每个进程对所述虚拟机运行系统的稳定性影响程度,为所述每个进程设置对应的阈值。
[0011]优选地,前述的CPU资源控制方法,还包括:在未发现所述多个进程中存在占用CPU资源超过预设阈值的进程时,经过预设时间后重新进行检测。
[0012]优选地,前述的CPU资源控制方法,“根据所述目标进程已经被调整的次数,计算所述目标进程待使用的CPU数量”的步骤包括:在所述多个CPU的总数为n、所述目标进程已经被调整的次数为m时,设置M=m+1,取所述目标进程待使用的CPU数量为n/2
M

[0013]优选地,前述的CPU资源控制方法,“检测虚拟机中多个进程占用的CPU资源”的步骤包括:根据预设的记录所述多个进程的配置文件,从所述虚拟机中查询所述多个进程并进行检测;“在所述目标进程待使用的CPU数量为1时,不再对所述目标进程进行检测”的步骤包括:从所述配置文件中删除所述目标进程。
[0014]优选地,前述的CPU资源控制方法,“从所述多个CPU中选择至少一个CPU供所述目标进程使用”的步骤,还包括:按照所述多个CPU的资源使用由低到高,从所述多个CPU中选择所述至少一个CPU。
[0015]第二方面,本专利技术提供一种CPU资源控制装置,包括:CPU资源检测模块,检测虚拟机中多个进程占用的CPU资源,其中,所述虚拟机中具有虚拟的多个CPU;CPU数量计算模块,将所述多个进程中占用CPU资源超过预设阈值的进程作为需要调整使用CPU的目标进程,根据所述目标进程已经被调整的次数,计算所述目标进程待使用的CPU数量,其中,随所述目标进程已经被调整的次数增加,所述目标进程待使用的CPU数量减少直至为1;检测控制模块,在所述目标进程待使用的CPU数量为1时,不再对所述目标进程进行检测;CPU选择模块,根据所述目标进程待使用的CPU数量、所述目标进程占用的CPU资源以及所述多个CPU剩余的资源,从所述多个CPU中选择至少一个CPU供所述目标进程使用。
[0016]第三方面,本专利技术提供一种计算机可读存储介质,其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述的CPU资源控制方法。
[0017]本专利技术上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0018]本专利技术的技术方案,将虚拟机中CPU资源占用达到阈值的进程作为目标进程,调整其使用的虚拟CPU以实现CPU负载均衡,与现有技术方案区别在于,随负载均衡次数增加,为目标进程配置的CPU数量逐渐减少,从而减少目标进程在虚拟CPU间迁移产生的vIPI数量,也即减少了对虚拟机中CPU资源的浪费,直至为目标进程分配的虚拟CPU数量为1,此时对于
目标进程已无法进一步降低虚拟CPU数量,也即最大程度减少了虚拟机中的CPU资源浪费,因此不需对该目标进程进行检测。
附图说明
[0019]参照附图,本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CPU资源控制方法,其特征在于,包括:检测虚拟机中多个进程占用的CPU资源,其中,所述虚拟机中具有虚拟的多个CPU;将所述多个进程中占用CPU资源超过预设阈值的进程作为需要调整使用CPU的目标进程,根据所述目标进程已经被调整的次数,计算所述目标进程待使用的CPU数量,其中,随所述目标进程已经被调整的次数增加,所述目标进程待使用的CPU数量减少直至为1;在所述目标进程待使用的CPU数量为1时,不再对所述目标进程进行检测;根据所述目标进程待使用的CPU数量、所述目标进程占用的CPU资源以及所述多个CPU剩余的资源,从所述多个CPU中选择至少一个CPU供所述目标进程使用。2.根据权利要求1所述的CPU资源控制方法,其特征在于,在“将所述多个进程中占用CPU资源超过预设阈值的进程作为需要调整使用CPU的目标进程”的步骤之前,还包括:为所述多个进程中的每个进程设置对应的阈值。3.根据权利要求2所述的CPU资源控制方法,其特征在于,“为所述多个进程中的每个进程设置对应的阈值”的步骤包括:根据所述虚拟机所执行任务对所述每个进程的依赖程度,为所述每个进程设置对应的阈值。4.根据权利要求2所述的CPU资源控制方法,其特征在于,“为所述多个进程中的每个进程设置对应的阈值”的步骤包括:根据所述每个进程对所述虚拟机运行系统的稳定性影响程度,为所述每个进程设置对应的阈值。5.根据权利要求1所述的CPU资源控制方法,其特征在于,还包括:在未发现所述多个进程中存在占用CPU资源超过预设阈值的进程时,经过预设时间后重新进行检测。6.根据权利要求1所述的CPU资源控制方法,其特征在于,“根据所述目标进程已经被调整的次数,计算所述目标进程待使用的CPU数量”的步骤包括:在所述多个CPU...

【专利技术属性】
技术研发人员:何文豪
申请(专利权)人:黑芝麻智能科技有限公司
类型:发明
国别省市:

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

1