CN110704195A - 一种cpu调整方法、服务器及计算机可读存储介质 - Google Patents

一种cpu调整方法、服务器及计算机可读存储介质 Download PDF

Info

Publication number
CN110704195A
CN110704195A CN201910974237.2A CN201910974237A CN110704195A CN 110704195 A CN110704195 A CN 110704195A CN 201910974237 A CN201910974237 A CN 201910974237A CN 110704195 A CN110704195 A CN 110704195A
Authority
CN
China
Prior art keywords
cpu
partition
host
cpus
host partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910974237.2A
Other languages
English (en)
Inventor
蒋彪
陈立东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN201910974237.2A priority Critical patent/CN110704195A/zh
Publication of CN110704195A publication Critical patent/CN110704195A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开一种CPU调整方法、服务器及计算机可读存储介质,该方法应用于服务器,服务器包括CPU资源,CPU资源包括主机分区和虚拟机分区,该方法包括:获取主机分区中CPU的使用信息;根据主机分区中CPU的使用信息计算主机分区中CPU的使用率;根据主机分区中CPU的使用率调整主机分区与虚拟机分区之间的CPU。本发明实施例,可以提高CPU的使用灵活性。

Description

一种CPU调整方法、服务器及计算机可读存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种CPU调整方法、装置及计算机可读存储介质。
背景技术
在云计算中,中央处理器(central processing unit,CPU)资源是最重要的系统资源之一。合理利用CPU资源,可以提高云计算效率。在运行虚拟机(virtual machine,VM)的云服务器上,为了减少VM与主机之间的干扰,通常会做CPU资源隔离,即将主机上的所有CPU资源进行分区,VM和主机上的管理线程分别放入独立的分区中使其互不干扰,可以提高VM和主机的稳定性。但是,上述CPU资源分区通常是静态划分的,即在CPU资源分区划分后,不会在运行过程中动态修改,以致降低了CPU的使用灵活性。
发明内容
本发明实施例公开了一种CPU调整方法、服务器及计算机可读存储介质,用于提高CPU的使用灵活性。
第一方面公开一种CPU调整方法,所述方法应用于服务器,所述服务器包括CPU资源,所述CPU资源包括主机分区和VM分区,包括:
获取所述主机分区中CPU的使用信息;
根据所述使用信息计算所述主机分区中CPU的使用率;
根据所述使用率调整所述主机分区与所述VM分区之间的CPU。
作为一种可能的实施方式,所述使用信息包括CPU的使用时长和处于可运行状态的线程数量,所述根据所述使用信息计算所述主机分区中CPU的使用率包括:
根据所述使用时长计算所述主机分区中CPU的占用率;
根据所述线程数量计算所述主机分区中CPU的负载;
根据所述占用率和所述负载计算所述主机分区中CPU的使用率。
作为一种可能的实施方式,所述使用信息还包括第一线程的唤醒时间和执行时间以及线程切换次数,所述第一线程为所述主机分区中的CPU上处于可运行状态的任一线程,所述根据所述占用率和所述负载计算所述主机分区中CPU的使用率包括:
根据所述第一线程的唤醒时间和执行时间计算线程的调度时延;
根据所述占用率、所述负载、所述调度时延和所述线程切换次数计算所述主机分区中CPU的使用率。
作为一种可能的实施方式,所述根据所述使用率调整所述主机分区与所述VM分区之间的CPU包括:
在所述使用率大于第一阈值的情况下,将所述VM分区中的部分CPU划分至所述主机分区。
作为一种可能的实施方式,所述根据所述使用率调整所述主机分区与所述VM分区之间的CPU还包括:
在所述使用率小于第二阈值的情况下,将所述主机分区中的部分CPU划分至所述VM分区,所述第二阈值小于所述第一阈值。
作为一种可能的实施方式,所述将所述VM分区中的部分CPU划分至所述主机分区包括:
计算使所述主机分区中CPU的使用率处于所述第二阈值与所述第一阈值之间所需CPU个数;
将所述VM分区中的所述所需CPU个数个CPU划分至所述主机分区。
作为一种可能的实施方式,所述将所述VM分区中的所述所需CPU个数个CPU划分至所述主机分区包括:
判断所述VM分区中的可用CPU个数是否小于所述所需CPU个数;
在判断出所述VM分区中的可用CPU个数小于所述所需CPU个数的情况下,将所述VM分区中的部分VM迁移至另一服务器;
将所述VM分区中的所述所需CPU个数个可用CPU划分至所述主机分区。
第二方面公开一种服务器,所述服务器包括CPU资源,所述CPU资源包括主机分区和VM分区,包括:
获取单元,用于获取所述主机分区中CPU的使用信息;
计算单元,用于根据所述使用信息计算所述主机分区中CPU的使用率;
调整单元,用于根据所述使用率调整所述主机分区与所述VM分区之间的CPU。
作为一种可能的实施方式,所述使用信息包括CPU的使用时长和处于可运行状态的线程数量,所述计算单元具体用于:
根据所述使用时长计算所述主机分区中CPU的占用率;
根据所述线程数量计算所述主机分区中CPU的负载;
根据所述占用率和所述负载计算所述主机分区中CPU的使用率。
作为一种可能的实施方式,所述使用信息还包括第一线程的唤醒时间和执行时间以及线程切换次数,所述第一线程为所述主机分区中的CPU上处于可运行状态的任一线程,所述计算单元根据所述占用率和所述负载计算所述主机分区中CPU的使用率包括:
根据所述第一线程的唤醒时间和执行时间计算线程的调度时延;
根据所述占用率、所述负载、所述调度时延和所述线程切换次数计算所述主机分区中CPU的使用率。
作为一种可能的实施方式,所述调整单元,具体用于在所述使用率大于第一阈值的情况下,将所述VM分区中的部分CPU划分至所述主机分区。
作为一种可能的实施方式,所述调整单元,具体还用于在所述使用率小于第二阈值的情况下,将所述主机分区中的部分CPU划分至所述VM分区,所述第二阈值小于所述第一阈值。
作为一种可能的实施方式,所述调整单元将所述VM分区中的部分CPU划分至所述主机分区包括:
计算使所述主机分区中CPU的使用率处于所述第二阈值与所述第一阈值之间所需CPU个数;
将所述VM分区中的所述所需CPU个数个CPU划分至所述主机分区。
作为一种可能的实施方式,所述调整单元将所述VM分区中的所述所需CPU个数个CPU划分至所述主机分区包括:
判断所述VM分区中的可用CPU个数是否小于所述所需CPU个数;
在判断出所述VM分区中的可用CPU个数小于所述所需CPU个数的情况下,将所述VM分区中的部分VM迁移至另一服务器;
将所述VM分区中的所述所需CPU个数个可用CPU划分至所述主机分区。
第三方面公开一种服务器,该通信装置包括处理器、存储器、输入接口和输出接口,存储器用于存储一组计算机程序代码,输入接口用于接收来自该装置之外的其它装置的信息,输出接口用于向该装置之外的其它装置输出信息。当处理器用于调用所述存储器中存储的计算机程序代码时,使得处理器执行第一方面或第一方面的任一可能实施方式所公开的CPU调整方法。
第四方面公开一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序或计算机指令,当该计算机程序或计算机指令运行时,实现如第一方面或第一方面的任一可能实施方式所公开的CPU调整方法。
第五方面公开一种计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任一可能实施方式所公开的CPU调整方法。
本发明实施例中,服务器获取主机分区中CPU的使用信息,根据该使用信息计算主机分区中CPU的使用率,根据该使用率调整主机分区与VM分区之间的CPU,可见,可以根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU,在CPU资源分区划分后,在运行过程中会根据主机分区的需要动态修改主机分区与VM分区之间的CPU,可以提高CPU的使用灵活性,同时可以提高CPU的利用率。
附图说明
图1是本发明实施例公开的一种CPU资源分区示意图;
图2是本发明实施例公开的一种CPU调整方法的流程示意图;
图3是本发明实施例公开的一种减少VM分区中的CPU个数增加主机分区中的CPU个数的示意图;
图4是本发明实施例公开的一种将VM分区中的部分VM迁移至另一服务器的示意图;
图5是本发明实施例公开的一种服务器的结构示意图;
图6是本发明实施例公开的另一种服务器的结构示意图;
图7是本发明实施例公开的又一种服务器的结构示意图。
具体实施方式
本发明实施例公开了一种CPU调整方法、服务器及计算机可读存储介质,用于提高CPU的使用灵活性。以下分别进行详细说明。
为了更好地理解本发明实施例公开的一种CPU调整方法、服务器及计算机可读存储介质,下面先对本发明实施例使用的应用场景进行描述。在云服务器中,为了避免VM与主机之间的相互干扰,通常需要进行CPU资源隔离,让不同的业务运行在不通的CPU分区中。请参阅图1,图1是本发明实施例公开的一种CPU资源分区示意图。如图1所示,服务器中的CPU资源可以包括主机(host)分区、VM分区、数据平面开发套件(data plane developmentkit,DPDK)分区和存储性能开发套件(storage performance development kit,SPDK)分区。云服务器中,通常会使用DPDK线程/SPDK线程以提高输入输出(input output,IO)处理效率。而为了避免其他线程,如主机线程、VM线程等,对DPDK线程/SPDK线程的运行产生干扰,DPDK线程/SPDK线程需要运行于隔离的CPU上,因此,CPU资源可以包括DPDK分区和SPDK分区。主机分区为服务器上管理线程所在的CPU资源分区,VM分区为VM线程所在的CPU资源分区,DPDK分区为DPDK线程所在的CPU资源分区,SPDK分区为SPDK线程所在的CPU资源分区。其中,DPDK分区和SPDK分区的CPU保持不变。
请参阅图2,图2是本发明实施例公开的一种CPU调整方法的流程示意图。其中,该CPU调整方法应用于服务器,服务器可以包括CPU资源,CPU资源可以包括主机分区和VM分区,CPU资源还可以包括DPDK分区和SPDK分区。如图2所示,该CPU调整方法可以包括以下步骤。
201、获取主机分区中CPU的使用信息。
服务器可以周期性地获取主机分区中CPU的使用信息。主机分区中CPU的使用信息可以包括CPU的使用时长和处于可运行状态的线程数量,CPU的使用时长为一个周期内主机分区包括的CPU中每个CPU的使用时长,处于可运行状态的线程数量为一个周期内在主机分区中的CPU上处于可运行状态的线程的个数。主机分区中CPU的使用信息还可以包括第一线程的唤醒时间和执行时间,第一线程为一个周期内主机分区中的CPU上处于可运行状态的任一线程。主机分区中CPU的使用信息还可以包括线程切换次数,线程切换次数为一个周期内主机分区包括的CPU中每个CPU上的线程切换次数。主机分区中CPU的使用信息还可以包括第二线程的睡眠时间和唤醒时间,第二线程为一个周期内主机分区中的CPU上由于无法访问共享资源而进入睡眠,以及由于能够访问共享资源而被唤醒的任一线程。其中,共享资源可以为内存资源,也可以其它可以被共享的资源。
202、根据主机分区中CPU的使用信息计算主机分区中CPU的使用率。
获取到主机分区中CPU的使用信息之后,可以根据主机分区中CPU的使用信息计算主机分区中CPU的使用率。
在主机分区中CPU的使用信息包括CPU的使用时长和处于可运行状态的线程数量的情况下,可以先根据CPU的使用时长计算主机分区中CPU的占用率,以及可以根据处于可运行状态的线程数量计算主机分区中CPU的负载,之后可以根据主机分区中CPU的占用率和主机分区中CPU的负载计算主机分区中CPU的使用率。其中,主机分区中CPU的使用率可以是主机分区中CPU的占用率和主机分区中CPU的负载的和或加权和。可以先根据CPU的使用时长计算主机分区包括的CPU中每个CPU的占用率,之后将主机分区包括的所有CPU的占用率的平均值确定为主机分区中CPU的占用率。可以使用第一CPU的使用时长除以周期时长得到第一CPU的占用率,第一CPU为主机分区中的任一CPU。可以先根据处于可运行状态的线程数量计算主机分区包括的CPU中每个CPU的负载,之后将主机分区包括的所有CPU的负载的平均值确定为主机分区中CPU的负载。
在主机分区中CPU的使用信息包括CPU的使用时长、处于可运行状态的线程数量,以及主机分区中CPU的使用信息还包括第一线程的唤醒时间和执行时间、线程切换次数以及第二线程的睡眠时间和唤醒时间中任一种情况下,可以先根据CPU的使用时长计算主机分区中CPU的占用率,可以根据处于可运行状态的线程数量计算主机分区中CPU的负载,可以根据第一线程的唤醒时间和执行时间计算线程的调度时延,可以根据第二线程的睡眠时间和唤醒时间计算线程的阻塞时延,之后可以根据主机分区中CPU的占用率和负载,以及线程的调度时延、线程的阻塞时延和线程切换次数中的任意一种,计算主机分区中CPU的使用率。可以先根据第一线程的唤醒时间和执行时间计算第一线程的调度时延,即计算第一线程的执行时间和唤醒时间之间的时间差,之后可以将上一周期内主机分区中的CPU上处于可运行状态的所有线程的平均调度时延确定为线程的调度时延。可以先根据第二线程的睡眠时间和唤醒时间计算第二线程的阻塞时延,即计算第二线程的唤醒时间与睡眠时间之间的时间差,之后将上一周期内主机分区中的CPU上所有第二线程的平均阻塞时延确定为线程的阻塞时延。可以先计算上一周期内主机分区中的每个CPU的线程切换次数,之后使用主机分区中所有CPU的线程切换次数的平均值计算主机分区中CPU的使用率。
203、根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU。
根据主机分区中CPU的使用信息计算出主机分区中CPU的使用率之后,可以根据CPU的使用率调整主机分区与VM分区之间的CPU。
可以预先设置一个范围,在主机分区中CPU的使用率处于这个范围内的情况下,主机分区的CPU与VM分区的CPU可以保持不变,即可以不调整主机分区与VM分区之间的CPU。这个范围的上限为第一阈值、下限为第二阈值,第一阈值和第二阈值可以是根据需要预先设置的。在主机分区中CPU的使用率大于第一阈值的情况下,表明主机分区中CPU的压力较大,可以将VM分区中的部分CPU划分至主机分区,即减少VM分区中的CPU个数增加主机分区中的CPU个数。请参阅图3,图3是本发明实施例公开的一种减少VM分区中的CPU个数增加主机分区中的CPU个数的示意图。如图3所示,将VM分区中减少的CPU个数增加至主机分区中。
将VM分区中的部分CPU划分至主机分区时,可以先计算使主机分区中CPU的使用率处于第二阈值与第一阈值之间所需CPU个数,之后将VM分区中的所需CPU个数个CPU划分至主机分区。还可以先判断VM分区中的可用CPU个数是否小于所需CPU个数,在判断出VM分区中的可用CPU个数小于所需CPU个数的情况下,可以先将VM分区中的部分VM迁移至另一服务器,之后将VM分区中的所需CPU个数个可用CPU划分至主机分区。请参阅图4,图4是本发明实施例公开的一种将VM分区中的部分VM迁移至另一服务器的示意图。如图4所示,可以先将VM6迁移到另一服务器,之后将VM6使用的CPU个数划分至主机分区。在判断出VM分区中的可用CPU个数大于或等于所需CPU个数的情况下,直接将VM分区中的所需CPU个数个可用CPU划分至主机分区,不需要将VM分区中的VM迁移至另一服务器。其中,VM分区中的可用CPU即未被售卖的CPU。
在主机分区中CPU的使用率小于第二阈值的情况下,表明主机分区中CPU的压力较小,可以将主机分区中的部分CPU划分至VM分区,即减少主机分区中的CPU个数增加VM分区中的CPU个数。可以先计算使主机分区中CPU的使用率处于第二阈值与第一阈值之间剩余CPU个数,之后将主机分区中的剩余CPU个数个CPU划分至VM分区。
使主机分区中CPU的使用率处于第二阈值与第一阈值之间可以是使主机分区中CPU的使用率等于第一阈值与第二阈值的平均值,也可以是使主机分区中CPU的使用率等于该平均值与第一阈值的平均值,还可以是使主机分区中CPU的使用率处于第二阈值与第一阈值之间的其它值。
在图2所描述的CPU调整方法中,服务器获取主机分区中CPU的使用信息,根据该使用信息计算主机分区中CPU的使用率,根据该使用率调整主机分区与VM分区之间的CPU,可见,可以根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU,在CPU资源分区划分后,在运行过程中会根据主机分区的需要动态修改主机分区与VM分区之间的CPU,可以提高CPU的使用灵活性,同时可以提高CPU的利用率。
请参阅图5,图5是本发明实施例公开的一种服务器的结构示意图。如图5所示,该服务器可以包括CPU资源隔离模块、监控模块、资源管理模块和VM调度模块。CPU资源隔离模块负责服务器中的CPU资源隔离,将服务器上的所有CPU资源划分成不同的子集,对应不同的CPU资源分区,如图1中的VM分区、主机分区、DPDK分区和SPDK分区。CPU资源隔离模块的典型实现方式为Linux系统中的Cpuset。Cpuset是Linux系统中的一种CPU资源管理机制,代表CPU资源集合。CPU资源隔离模块的典型实施流程为:
1、启动操作系统,初始化CPU资源隔离所需的基础资源和接口。以Cpuset为例,可以初始化Cpuset在操作系统内核中的相应的数据,挂载并创建相应的VM文件系统接口。
2、调用操作系统提供的相应接口,为不同用途的任务创建不同的CPU资源分区,如主机分区、VM分区、DPDK分区和SPDK分区等。
3、根据具体的场景需求,为不同的分区分配相应的CPU资源。比如为主机分区分配4个逻辑CPU,为DPDK分区和SPDK分区分别分配4个逻辑CPU,剩余的所有逻辑CPU都放入VM分区中用于售卖。
4、根据具体的场景需求,完成其他相关的配置。不同的分区,由于工作性质不同,相关配置可能不同,比如DPDK分区/SPDK分区要求分区中的线程与CPU进行一一绑核,同时需要关闭CPU之间的线程调度,而主机分区和VM分区通常不需要。
5、调用操作系统提供的相应接口将不同的任务对应的进程/线程放入对应的CPU资源分区中。比如VM包含的虚拟CPU线程放入VM分区;主机管理线程放入主机分区;DPDK和SPDK工作线程分别放入DPDK分区和SPDK分区中。
监控模块负责主机分区的CPU资源利用监控,并结合各种CPU资源相关的监控指标,抽象出“CPU的使用率”指标,为“资源管理模块”进行CPU资源管理提供参考和指导。监控模块典型的实施流程为:
1、定期通过操作系统提供的接口,采集主机分区的各项CPU相关的统计数据,比如CPU的占用率(包括用户态和内核态)、CPU的负载,以及其他相关指标,比如线程的调度延时、线程的阻塞延时,线程文切换次数等。
2、通过一定的算法,将各项统计数据抽象成主机分区的“CPU的使用率”的指标。
3、存储相关数据。
对于被监控的统计数据,典型的应用实例:在云服务器主机上,运行后台监控程序,定期通过系统工具收集CPU的使用率压力相关指标,比如:上一分钟内的CPU平均占用率,如果占用率超过50%(这个阈值不同场景可能不同),则说明当前的CPU压力比较大;上一分钟内的负载,如果负载超过1.5倍逻辑CPU数量(1.5也可能根据场景变化)表示CPU压力较大;线程切换次数,如果上一分钟内,平均切换次数超过时钟频率*60*主机分区运行的线程数量*系数(可能根据场景二变化),则说明CPU压力大。
“CPU的使用率”指标的典型抽象方式为:“CPU的使用率”=CPU的占用率*占用率权重+CPU的负载*负载权重+其他可选指标*可选指标权重,其他可选指标可以自己定制,比如“线程的调度延时”,“线程的阻塞延时”,“线程切换次数”。
资源管理模块负责CPU资源的动态分配和调整。其依赖于监控模块提供的抽象“CPU的使用率”指标,根据该指标,动态进行CPU资源调配,具体包括两种主要逻辑:
1、增加VM分区资源,提高可售卖的资源;
2、缩减VM分区资源,保持主机稳定。
增加VM分区资源的具体逻辑如下:
1、主机运行过程中,通过监控模块实施监控主机分区的CPU压力;
2、当主机分区的CPU压力较小时,通过操作系统提供的接口动态减少主机分区的CPU资源;
3、同时,通过操作系统提供的接口动态为VM分区增加CPU资源(增加的CPU资源来源于主机分区);
4、VM分区CPU资源增加后,可通过VM调度模块调度或分配更多的VM到本主机上运行,从而提升本主机的资源利用率。
缩减VM分区资源的具体逻辑如下:
1、主机运行过程中,通过监控模块实施监控主机分区的CPU压力;
2、当主机分区的CPU压力较大时,通过操作系统提供的接口动态减少VM分区的CPU资源;如果当前主机上的CPU资源比较紧张,可以通过VM调度模块将部分VM热迁移(调度)到其他服务器上;
3、同时将相应的CPU资源,通过操作系统提供的接口加入主机分区。如此完成VM分区CPU资源的压缩,保证主机分区的CPU资源供应,保障主机的稳定性。
VM调度模块负责VM的调度和调配,主要完成如下两个逻辑:
1、当本服务器的VM分区资源有剩余时,分配或调度新的VM到本服务器上运行,提升本服务器的资源利用率。
2、当本服务器的VM分区资源紧张时,迁移本服务器上的指定VM到其他服务器上,减少本服务器的压力,提升服务器稳定性。
服务器可以提供如下主要接口:
1、VM创建。根据指定的参数,比如CPU数量、内核数量,创建VM。具体实现方式为调用操作系统和虚拟化组件提供的相应接口即可。
2、VM销毁。销毁指定的VM。具体实现方式为调用操作系统和虚拟化组件提供的相应接口即可。
3、VM热迁移。将指定的VM迁移到其他服务器,同时保持VM中运行的业务。具体实现方式为调用操作系统和虚拟化组件提供的相应接口即可。
请参阅图6,图6是本发明实施例公开的另一种服务器的结构示意图。其中,服务器包括CPU资源,CPU资源包括主机分区和VM分区。如图6所示,该服务器可以包括:
获取单元601,用于获取主机分区中CPU的使用信息;
计算单元602,用于根据主机分区中CPU的使用信息计算主机分区中CPU的使用率;
调整单元603,用于根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU。
在一个实施例中,主机分区中CPU的使用信息包括CPU的使用时长和处于可运行状态的线程数量,计算单元602具体用于:
根据CPU的使用时长计算主机分区中CPU的占用率;
根据处于可运行状态的线程数量计算主机分区中CPU的负载;
根据主机分区中CPU的占用率和负载计算主机分区中CPU的使用率。
在一个实施例中,主机分区中CPU的还包括第一线程的唤醒时间和执行时间以及线程切换次数,第一线程为主机分区中的CPU上处于可运行状态的任一线程,计算单元602根据主机分区中CPU的占用率和负载计算主机分区中CPU的使用率包括:
根据第一线程的唤醒时间和执行时间计算线程的调度时延;
根据主机分区中CPU的占用率、主机分区中CPU的负载、线程的调度时延和线程切换次数计算主机分区中CPU的使用率。
在一个实施例中,调整单元603,具体用于在主机分区中CPU的使用率大于第一阈值的情况下,将VM分区中的部分CPU划分至主机分区。
在一个实施例中,调整单元603,具体还用于在主机分区中CPU的使用率小于第二阈值的情况下,将主机分区中的部分CPU划分至VM分区,第二阈值小于第一阈值。
在一个实施例中,调整单元603将VM分区中的部分CPU划分至主机分区包括:
计算使主机分区中CPU的使用率处于第二阈值与第一阈值之间所需CPU个数;
将VM分区中的所需CPU个数个CPU划分至主机分区。
在一个实施例中,调整单元603将VM分区中的所需CPU个数个CPU划分至主机分区包括:
判断VM分区中的可用CPU个数是否小于所需CPU个数;
在判断出VM分区中的可用CPU个数小于所需CPU个数的情况下,将VM分区中的部分VM迁移至另一服务器;
将VM分区中的所需CPU个数个可用CPU划分至主机分区。
有关上述获取单元601、计算单元602和调整单元603详细的描述可以直接参考上述图2所示的方法实施例中的相关描述直接得到,这里不加赘述。
请参阅图7,图7是本发明实施例公开的又一种服务器的结构示意图。其中,服务器包括CPU资源,CPU资源包括主机分区和VM分区。如图7所示,该服务器可以包括处理器701、存储器702、输入接口703、输出接口704和连接线705。存储器702可以是独立存在,连接线705与处理器701相连接。存储器702也可以和处理器701集成在一起。连接线705可包括一通路,在上述组件之间传送信息。其中,存储器702中存储程序指令,处理器701用于执行存储器702中存储的程序指令。其中:
存储器702中存储有一组计算机程序,处理器701用于调用存储器702中存储的计算机程序执行以下操作:
获取主机分区中CPU的使用信息;
根据主机分区中CPU的使用信息计算主机分区中CPU的使用率;
根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU。
在一个实施例中,主机分区中CPU的使用信息包括CPU的使用时长和处于可运行状态的线程数量,处理器701根据主机分区中CPU的使用信息计算主机分区中CPU的使用率包括:
根据CPU的使用时长计算主机分区中CPU的占用率;
根据处于可运行状态的线程数量计算主机分区中CPU的负载;
根据主机分区中CPU的占用率和负载计算主机分区中CPU的使用率。
在一个实施例中,主机分区中CPU的使用信息还包括第一线程的唤醒时间和执行时间以及线程切换次数,第一线程为主机分区中的CPU上处于可运行状态的任一线程,处理器701根据主机分区中CPU的占用率和负载计算主机分区中CPU的使用率包括:
根据第一线程的唤醒时间和执行时间计算线程的调度时延;
根据主机分区中CPU的占用率、主机分区中CPU的负载、线程的调度时延和线程切换次数计算主机分区中CPU的使用率。
在一个实施例中,处理器701根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU包括:
在主机分区中CPU的使用率大于第一阈值的情况下,将VM分区中的部分CPU划分至主机分区。
在一个实施例中,处理器701根据主机分区中CPU的使用率调整主机分区与VM分区之间的CPU还包括:
在主机分区中CPU的使用率小于第二阈值的情况下,将主机分区中的部分CPU划分至VM分区,第二阈值小于第一阈值。
在一个实施例中,处理器701将VM分区中的部分CPU划分至主机分区包括:
计算使主机分区中CPU的使用率处于第二阈值与第一阈值之间所需CPU个数;
将VM分区中的所需CPU个数个CPU划分至主机分区。
在一个实施例中,处理器701将VM分区中的所需CPU个数个CPU划分至主机分区包括:
判断VM分区中的可用CPU个数是否小于所需CPU个数;
在判断出VM分区中的可用CPU个数小于所需CPU个数的情况下,将VM分区中的部分VM迁移至另一服务器;
将VM分区中的所需CPU个数个可用CPU划分至主机分区。
在一个实施例中,输入接口用于接收来自该服务器之外的其它装置的信息;
输出接口用于向该服务器之外的其它装置输出信息。
其中,步骤201-步骤203可以由服务器中的处理器701和存储器702来执行。
其中,获取单元601、计算单元602和调整单元603可以由服务器中的处理器701和存储器702来实现。
上述服务器还可以用于执行前述方法实施例中执行的各种方法,不再赘述。
本发明实施例还公开了一种存储介质,该存储介质上存储有程序,该程序运行时,实现如图2所示的CPU调整方法。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

Claims (10)

1.一种中央处理器CPU调整方法,其特征在于,所述方法应用于服务器,所述服务器包括CPU资源,所述CPU资源包括主机分区和虚拟机分区,包括:
获取所述主机分区中CPU的使用信息;
根据所述使用信息计算所述主机分区中CPU的使用率;
根据所述使用率调整所述主机分区与所述虚拟机分区之间的CPU。
2.根据权利要求1所述的方法,其特征在于,所述使用信息包括CPU的使用时长和处于可运行状态的线程数量,所述根据所述使用信息计算所述主机分区中CPU的使用率包括:
根据所述使用时长计算所述主机分区中CPU的占用率;
根据所述线程数量计算所述主机分区中CPU的负载;
根据所述占用率和所述负载计算所述主机分区中CPU的使用率。
3.根据权利要求2所述的方法,其特征在于,所述使用信息还包括第一线程的唤醒时间和执行时间以及线程切换次数,所述第一线程为所述主机分区中的CPU上处于可运行状态的任一线程,所述根据所述占用率和所述负载计算所述主机分区中CPU的使用率包括:
根据所述第一线程的唤醒时间和执行时间计算线程的调度时延;
根据所述占用率、所述负载、所述调度时延和所述线程切换次数计算所述主机分区中CPU的使用率。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述使用率调整所述主机分区与所述虚拟机分区之间的CPU包括:
在所述使用率大于第一阈值的情况下,将所述虚拟机分区中的部分CPU划分至所述主机分区。
5.根据权利要求4所述的方法,其特征在于,所述根据所述使用率调整所述主机分区与所述虚拟机分区之间的CPU还包括:
在所述使用率小于第二阈值的情况下,将所述主机分区中的部分CPU划分至所述虚拟机分区,所述第二阈值小于所述第一阈值。
6.根据权利要求5所述的方法,其特征在于,所述将所述虚拟机分区中的部分CPU划分至所述主机分区包括:
计算使所述主机分区中CPU的使用率处于所述第二阈值与所述第一阈值之间所需CPU个数;
将所述虚拟机分区中的所述所需CPU个数个CPU划分至所述主机分区。
7.根据权利要求6所述的方法,其特征在于,所述将所述虚拟机分区中的所述所需CPU个数个CPU划分至所述主机分区包括:
判断所述虚拟机分区中的可用CPU个数是否小于所述所需CPU个数;
在判断出所述虚拟机分区中的可用CPU个数小于所述所需CPU个数的情况下,将所述虚拟机分区中的部分虚拟机迁移至另一服务器;
将所述虚拟机分区中的所述所需CPU个数个可用CPU划分至所述主机分区。
8.一种服务器,其特征在于,所述服务器包括中央处理器CPU资源,所述CPU资源包括主机分区和虚拟机分区,包括:
获取单元,用于获取所述主机分区中CPU的使用信息;
计算单元,用于根据所述使用信息计算所述主机分区中CPU的使用率;
调整单元,用于根据所述使用率调整所述主机分区与所述虚拟机分区之间的CPU。
9.一种服务器,其特征在于,包括处理器、存储器、输入接口和输出接口,所述存储器用于存储一组计算机程序代码,所述输入接口用于接收来自所述服务器之外的其它装置的信息,所述输出接口用于向所述服务器之外的其它装置输出信息,所述处理器用于调用所述存储器中存储的计算机程序代码实现如权利要求1-7任一项所述的中央处理器CPU调整方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被运行时,实现如权利要求1-7任一项所述的中央处理器CPU调整方法。
CN201910974237.2A 2019-10-14 2019-10-14 一种cpu调整方法、服务器及计算机可读存储介质 Pending CN110704195A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910974237.2A CN110704195A (zh) 2019-10-14 2019-10-14 一种cpu调整方法、服务器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910974237.2A CN110704195A (zh) 2019-10-14 2019-10-14 一种cpu调整方法、服务器及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN110704195A true CN110704195A (zh) 2020-01-17

Family

ID=69200227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910974237.2A Pending CN110704195A (zh) 2019-10-14 2019-10-14 一种cpu调整方法、服务器及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110704195A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552614A (zh) * 2020-04-28 2020-08-18 杭州迪普科技股份有限公司 一种cpu使用率的统计方法及装置
CN114281529A (zh) * 2021-12-10 2022-04-05 上海交通大学 分布式虚拟化的客户操作系统调度优化方法、系统及终端
US11914864B2 (en) 2021-07-01 2024-02-27 Samsung Electronics Co., Ltd. Storage device and method of data management on a storage device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552614A (zh) * 2020-04-28 2020-08-18 杭州迪普科技股份有限公司 一种cpu使用率的统计方法及装置
US11914864B2 (en) 2021-07-01 2024-02-27 Samsung Electronics Co., Ltd. Storage device and method of data management on a storage device
CN114281529A (zh) * 2021-12-10 2022-04-05 上海交通大学 分布式虚拟化的客户操作系统调度优化方法、系统及终端

Similar Documents

Publication Publication Date Title
US9268394B2 (en) Virtualized application power budgeting
US9727355B2 (en) Virtual Hadoop manager
US9152200B2 (en) Resource and power management using nested heterogeneous hypervisors
JP6381956B2 (ja) 動的仮想マシンサイジング
KR101907564B1 (ko) 운영 체제 분리형 이종 컴퓨팅 기법
US9417912B2 (en) Ordering tasks scheduled for execution based on priority and event type triggering the task, selecting schedulers for tasks using a weight table and scheduler priority
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
US9411649B2 (en) Resource allocation method
US9146761B2 (en) Virtualization system and resource allocation method thereof
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
CN110704195A (zh) 一种cpu调整方法、服务器及计算机可读存储介质
US11579918B2 (en) Optimizing host CPU usage based on virtual machine guest OS power and performance management
US11579908B2 (en) Containerized workload scheduling
US20120239952A1 (en) Information processing apparatus, power control method, and recording medium
CN107003713B (zh) 用于电力管理的逻辑分区的事件驱动的方法和系统
Galante et al. A programming-level approach for elasticizing parallel scientific applications
CN107820605B (zh) 用于动态低延迟优化的系统和方法
JP5178778B2 (ja) 仮想計算機およびcpu割り当て方法
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
CN114816777A (zh) 命令处理装置、方法、电子设备以及计算机可读存储介质
Qouneh et al. Optimization of resource allocation and energy efficiency in heterogeneous cloud data centers
US11556371B2 (en) Hypervisor task execution management for virtual machines
CN113641476A (zh) 一种任务调度方法、游戏引擎、设备及存储介质
KR20150130631A (ko) 운영체제의 파티션 제어 장치 및 방법
US20230111051A1 (en) Virtualization method, device, board card and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40020955

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination