一种CPU带宽管理方法、装置、实现设备及存储介质制造方法及图纸

技术编号:28202910 阅读:42 留言:0更新日期:2021-04-24 14:25
本发明专利技术实施例提供了一种CPU带宽管理方法、装置、实现设备及存储介质,该方法包括:确定第一线程,控制组Cgroup为所述第一线程分配第一预设带宽占比;检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和;当所述和超过预警值时,所述Cgroup为所述第一线程重新分配第二预设带宽占比,其中,所述第二预设带宽占比小于所述第一预设带宽占比。通过本发明专利技术,能够在不浪费CPU核和保证每个线程具有CPU带宽使用的情况下,保证带宽的最大化利用。保证带宽的最大化利用。保证带宽的最大化利用。

【技术实现步骤摘要】
一种CPU带宽管理方法、装置、实现设备及存储介质


[0001]本专利技术涉及计算机资源管理领域,尤其是CPU带宽管理。

技术介绍

[0002]在很多情况下,对于某些需要一直占用CPU资源并且优先级又高的线程,往往采用绑定CPU核并给该CPU核设置排他隔离模式,虽然当今服务器CPU可达几十个CPU核,但是如果存在多个虚拟机的话,每个虚拟机分配到的CPU核资源就不是那么可观了。
[0003]目前,为了防止CPU占用率高的高优先级线程饿死其他线程,往往采用CPU核绑定特定线程的方式,这样也能保证其他线程不会漂移到这个核上。不过此种处理方式存在如下缺陷:
[0004]1、绑定方式等于给特定线程一个CPU核,让整个系统可分配的CPU核少了一个;
[0005]2、如果此种特定线程数量较多,比如几十个线程都需要,超过了现有CPU核数的最大值,那么此方法还是会导致某些线程无CPU核资源可使用。
[0006]当然也有给线程设置CPU带宽的方式,但如果只是单纯的限制CPU带宽,则无法充分的调动CPU带宽的能力。

技术实现思路

[0007]本专利技术提出了一种CPU带宽管理的方法、装置、实现设备及计算机存储介质,解决了CPU带宽分配中会出现的CPU核数不够、CPU带宽无法充分得到利用的问题。
[0008]本专利技术实施例提供了一种CPU带宽管理的方法,包括:确定第一线程,控制组Cgroup为所述第一线程分配第一预设带宽占比;检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和;当所述和超过预警值时,所述Cgroup为所述第一线程重新分配第二预设带宽占比;所述第二预设带宽占比小于所述第一预设带宽占比。
[0009]进一步地,检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和:所述检测定时进行。
[0010]进一步地,在检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和后,还包括:当所述和小于所述预警值时,所述Cgroup为所述第一线程重新分配第三预设带宽占比;所述第三预设带宽占比大于所述第一预设带宽占比。
[0011]进一步地,在控制组Cgroup为所述第一线程分配第一预设带宽占比前,包括:通过脚本将所述第一线程加入所述Cgroup中,或,通过封装函数编写成的可执行程序将所述第一线程加入所述Cgroup中。
[0012]进一步地,确定第一线程,包括:通过线程名称或线程ID确定所述第一线程。
[0013]进一步地,包括:所述第一预设带宽占比为80%。
[0014]进一步地,包括:所述预警值为95%。
[0015]本专利技术实施例还提供了一种CPU带宽管理的装置,包括:分配模块,用于确定第一线程,控制组Cgroup为所述第一线程分配第一预设带宽占比;检测模块,用于检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和;控制模块,用于当所述和超过预警值时,所述Cgroup为所述第一线程重新分配第二预设带宽占比;所述第二预设带宽占比小于所述第一预设带宽占比。
[0016]本专利技术实施例还提供了一种CPU带宽管理方法的实现设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述CPU带宽管理方法的实现方法。
[0017]本专利技术实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述CPU带宽管理的实现方法。
[0018]本专利技术通过Cgroup来管理线程的带宽占用,根据实时的CPU带宽占用情况,调整目标线程的可用带宽,最大程度上的利用了CPU带宽,同时也不会带来可用CPU核较少、某些线程无带宽可用的问题。
附图说明
[0019]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0020]图1是根据本专利技术实施例的CPU带宽管理方法的流程图;
[0021]图2是根据本专利技术实施例的CPU带宽管理装置的示意图。
具体实施方式
[0022]在本实施例中提供了一种CPU带宽管理方法,图1是根据本专利技术实施例的CPU带宽管理方法的示意图,如图1所示,该流程包括如下步骤:
[0023]步骤S101,确定第一线程,控制组Cgroup为所述第一线程分配第一预设带宽占比;
[0024]在步骤S101中,可以直接在linux环境下起一个脚本,传入一个指定的线程,其中,该指定的线程一般是一个CPU带宽占用高的线程,当然该指定的线程也可以人为指定。所述脚本为指定的线程创建一个新的控制组Cgroup,并且把该指定的线程加入到新建的控制组Cgroup里。Cgroup为所述指定线程分配一定的预设带宽,其中,这里的预设带宽是指定线程在某个CPU核中所占的带宽,一般情况下,为了尽可能提高CPU带宽利用率,这里的预设带宽可以设的尽可能高,其中预设带宽优选值为80%。
[0025]指定线程可以通过线程的名称或者线程的ID来确定。
[0026]步骤S102,检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和;
[0027]在步骤S102中,所述脚本监控指定线程所在CPU核的带宽占用情况,其中,带宽占用情况指指定线程所占用的带宽加上除指定线程以外的线程占用的带宽。所述的监控可以根据需要定时进行,如果需要尽可能的提高CPU带宽利用率,可以考虑将定时设的尽可能短。
[0028]步骤S103,当所述和超过预警值时,所述Cgroup为所述第一线程重新分配第二预设带宽占比,其中,所述第二预设带宽占比小于所述第一预设带宽占比。
[0029]在步骤S103中,当指定线程的预设带宽加上除指定线程外的线程所占用的带宽超过预警值时,调整指定线程的预设带宽。所述预警值是指,当带宽占用超过该值时,该CPU核的带宽不足以再供其他线程使用,可能会导致其他任务无法调度,其中,预警值的优选值为95%。调整后的预设带宽小于第一预设带宽。
[0030]当指定线程的预设带宽加上除指定线程外的线程所占用的带宽小于预警值时,调整指定线程的预设带宽大于第一预设带宽。
[0031]本专利技术的实施例通过实时监控CPU带宽占用情况,并对线程所占用带宽进行实时调整,达到了充分利用CPU带宽且不会带来CPU可用核减少、某些线程无带宽可用的问题。
[0032]在本专利技术实施例中还提供了一种CPU带宽的管理装置,图2是根据本专利技术实施例的CPU带宽管理装置的示意图,包括如下装置:
[0033]分配模块,用于确定第一线程,控制组Cgroup为所述第一线程分配第一预设带宽占比;检测模块,用于检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和;控本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CPU带宽管理方法,包括:确定第一线程,控制组Cgroup为所述第一线程分配第一预设带宽占比;检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和;当所述和超过预警值时,所述Cgroup为所述第一线程重新分配第二预设带宽占比,其中,所述第二预设带宽占比小于所述第一预设带宽占比。2.如权利要求1所述的方法,检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和:所述检测定时进行。3.如权利要求1所述的方法,在检测所述第一线程所在的CPU核中除第一线程以外的线程带宽占比与所述第一预设带宽占比之和后,还包括:当所述和小于所述预警值时,所述Cgroup为所述第一线程重新分配第三预设带宽占比;所述第三预设带宽占比大于所述第一预设带宽占比。4.如权利要求1所述的方法,在控制组Cgroup为所述第一线程分配第一预设带宽占比前,包括:通过脚本将所述第一线程加入所述Cgroup中,或,通过封装函数编写成的可执行程序将所述第一线程加入所述Cgroup中。5...

【专利技术属性】
技术研发人员:奚望姚康
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1