CN112068960B - 一种cpu资源分配方法、装置、存储介质及设备 - Google Patents
一种cpu资源分配方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN112068960B CN112068960B CN202010950728.6A CN202010950728A CN112068960B CN 112068960 B CN112068960 B CN 112068960B CN 202010950728 A CN202010950728 A CN 202010950728A CN 112068960 B CN112068960 B CN 112068960B
- Authority
- CN
- China
- Prior art keywords
- service
- resource
- cpu
- processed
- priority
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000013468 resource allocation Methods 0.000 title claims abstract description 60
- 230000015654 memory Effects 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 18
- 238000012986 modification Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 3
- 239000000306 component Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Abstract
本发明公开了一种CPU资源分配方法、装置、存储介质及设备,该方法包括:获取操作系统中CPU的核数;根据预设比例和核数对CPU核进行分配,得到第一资源、第二资源和第三资源;判断待处理服务的优先级是否属于第一优先级或第二优先级;当待处理服务属于第一优先级时,将待处理服务绑定到第一资源中的CPU核上;当待处理服务属于第二优先级时,将待处理服务绑定到第二资源中的CPU核上;当待处理服务既不属于第一优先级也不属于第二优先级时,将待处理服务绑定到第三资源中的CPU核上。通过实施本发明,解决了现有技术中某一类服务超负荷过载,将操作系统的CPU核数完全占用,导致其他类服务不可用,使得系统不能正常运行的问题。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种CPU资源分配方法、装置、存储介质及设备。
背景技术
中央处理器(CPU),是电子计算机的主要设备之一。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。
在操作系统上,当计算机运行多个比较重要的服务且经过网络长时间传输,可能会导致系统资源不够用,此时可以将一些不太重要的比如copy/备份/同步等工作限定在一颗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的核数对CPU核进行资源分配,之后可以将操作系统中运行的各类服务按照优先级进行分类,并将分类后的服务和分配后的各个资源进行绑定;由此可以使得各类服务均可用,并保证了系统的正常运行。解决了现有技术中某一类服务超负荷过载,将操作系统的CPU核数完全占用,导致其他类服务不可用,使得系统不能正常运行的问题。
本发明实施例提供的CPU资源分配方法、装置、存储介质及设备,通过将服务和CPU核的绑定,可以在资源不足的情况下,保证系统能最大化的利用资源和系统正常运行。同时通过配置文件的设置以及监控服务的检测,可以使得操作系统重启或发生其他变化时,绑定关系仍然有效。此外,将数据保存到数据库,可以根据数据库的记录,可以快速回到各种模式;并通过跨物理CPU的绑定,提升了系统性能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的CPU资源分配方法的流程图;
图2是根据本发明另一实施例的CPU资源分配方法的流程图;
图3是根据本发明另一实施例的CPU资源分配方法的流程图;
图4是根据本发明另一实施例的CPU资源分配方法的流程图;
图5是根据本发明另一实施例的CPU资源分配方法的流程图;
图6是根据本发明实施例的CPU资源分配装置的结构框图;
图7是根据本发明另一实施例的CPU资源分配装置的结构框图;
图8是根据本发明另一实施例的CPU资源分配装置的结构框图;
图9是根据本发明另一实施例的CPU资源分配装置的结构框图;
图10是根据本发明实施例提供的计算机可读存储介质的结构示意图;
图11是根据本发明实施例提供的CPU资源分配设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种CPU资源分配方法,如图1所示,该资源分配方法包括如下步骤:
步骤S101:获取操作系统中CPU的核数;具体地,对于操作系统来说,其内部可能会有多个物理CPU,即多块CPU硬件;CPU的核数是指一块物理CPU上能处理数据的芯片组数量,即指的是CPU内核数量。CPU内核是CPU的重要组成部件,由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由内核执行。常见的CPU核数有双核、四核、六核、八核、十二核等。在内核频率、缓存大小等条件相同的情况下,CPU内核数量越多,CPU的整体性能越强。
可选地,在获取得到CPU的核数后,可以根据CPU的核数进行编号;例如,当CPU为八核CPU时,可以按照0-7对CPU的内核进行编号。
步骤S102:根据预设比例和核数对CPU核进行分配,得到第一资源、第二资源和第三资源;具体地,可以由CPU的核数对CPU核进行分配,例如CPU为8核PCU,则可以按照3:3:2的比例分配CPU的核数;当CPU为4核CPU时,可以按照2:1:1的比例分配CPU的核数。对于CPU核数的分配,也可以按照其他比例进行,本发明对具体的比例不做限定。
例如,对八核CPU按照3:3:2的比例,则可以得到包含3个内核的第一资源、3个内核的第二资源和2个内核的第三资源。
步骤S103:判断待处理服务的优先级是否属于第一优先级或第二优先级;具体地,对于操作系统中运行的各类服务,不同服务的优先级可能不同,优先级高的服务可能需要尽快处理,而某些优先级较低的服务也不能中断处理,这样可能会导致系统无法正常运行。例如操作系统中的业务服务优先级较高,该类服务可以认为属于第一优先级;操作系统中的管理服务优先级低于业务服务的优先级,可以认为该类服务属于第二优先级。
步骤S104:当待处理服务属于第一优先级时,将待处理服务绑定到第一资源中的CPU核上;具体地,当待处理服务属于第一优先级时,例如该服务属于业务服务,则可以将该服务绑定到第一资源的CPU核上运行。其中,当第一资源分配的内核数为3时,可以默认该类服务使用的内核数为两个核,另外一个核作为预留,可以用于负载动态的扩展。
在一实施例中,对于服务和CPU核的绑定可以采用taskset命令实现。taskset命令用于设置或者获取一直指定的PID对于CPU核的运行依赖关系。也可以用taskset启动一个命令,直接设置它的CPU核的运行依赖关系。CPU核依赖关系是指,命令会被在指定的CPU核中运行,而不会在其他CPU核中运行的一种调度关系。需要说明的是,在正常情况下,为了系统性能的原因,调度器会尽可能的在一个CPU核中维持一个进程的执行。此外,当操作系统为linux操作系统时,可以采用system或cgroup实现服务和CPU核的绑定。
步骤S105:当待处理服务属于第二优先级时,将待处理服务绑定到第二资源中的CPU核上;具体地,当待处理服务属于第二优先级时,例如该服务属于管理服务,则可以将该服务绑定到第二资源的CPU核上运行。其中,当第二资源分配的内核数为3时,可以默认该类服务使用的内核数为两个核,另外一个核作为预留,可以用于负载动态的扩展。
步骤S106:当待处理服务既不属于第一优先级也不属于第二优先级时,将待处理服务绑定到第三资源中的CPU核上。具体地,当待处理服务既不属于第一优先级也不属于第二优先级时,此时,可以认为该服务的优先级较低,即低于第一优先级和第二优先级,其既不属于业务服务也不属于管理服务,可以将其归类为第三类服务,可以将该类服务绑定到第三资源的CPU核上运行。
本发明实施例提供的CPU资源分配方法,通过根据物理CPU的核数对CPU核进行资源分配,之后可以将操作系统中运行的各类服务按照优先级进行分类,并将分类后的服务和分配后的各个资源进行绑定;由此可以使得各类服务均可用,并保证了系统的正常运行。解决了现有技术中某一类服务超负荷过载,将操作系统的CPU核数完全占用,导致其他类服务不可用,使得系统不能正常运行的问题。
在一实施例中,如图2所示,该CPU资源分配方法还包括如下步骤:
步骤S201:当第三资源中的CPU核不能满足待处理服务的运行时,判断第一资源和/或第二资源中的CPU核是否全部占用。
步骤S202:当未全部占用时,将待处理服务未运行的部分运行在第一资源和/或第二资源中未占用的CPU核上。
具体地,当需要处理的第三类服务较多,绑定的第三资源中的CPU核数不能满足第三类服务的运行时,此时,可以查看第一资源和/或第二资源中的CPU核是否全部占用,即管理服务和业务服务是否满载,当未全部占用,如业务服务此时运行较少,可以将第三类服务运行在第一资源中的CPU核上。
步骤203:当第一资源和/或第二资源中的CPU核不能满足待处理服务的运行时,将待处理服务未运行的部分运行在第三资源中的CPU核上。具体地,当需要处理的管理服务或业务服务较多,绑定的第一资源或第二资源中的CPU核数不能满足管理服务或业务服务的运行时,此时,可以将第三类服务释放其绑定的CPU资源,将多余的管理服务或业务服务运行在第三资源的CPU核上,优先保障第一优先级和第二优先级服务的运行。
在一实施例中,该CPU资源分配方法还包括如下步骤:当操作系统中包含多个CPU且待处理服务包含多个进程,将不同的进程绑定在不同的CPU上。具体地,通常情况下,操作系统中可能具有多个物理CPU,可以按照上述方法将每个物理CPU中的核数进行分配;当待处理服务包括多个进程时,可以将多个进程绑定在不同物理CPU上,实现服务的跨物理CPU绑定,提高系统的性能。
目前,采用taskset命令将服务和CPU进行绑定时,是根据PID(进程ID,processID)值进行绑定的,一旦PID值发生变化之前的绑定就无效了。而对于操作系统来说,可能会因为各种原因需要将系统进行重新启动;但是在重新启动后,同一服务的PID值也会发生变化,会造成之前的绑定无效。
在一实施例中,如图3所示,该CPU资源分配方法还包括如下步骤:
步骤S301:根据属于第一优先级和第二优先级的服务和CPU核的绑定关系生成配置文件;具体地,可以创建一个配置文件,在配置文件中预先配置系统中哪些服务需要资源绑定,绑定在哪些CPU上。例如,可以设置服务名称和CPU核编号的一一对应关系,即服务a绑定在0-2号CPU核上,服务b绑定在3-5号CPU核上等等。
步骤S302:根据配置文件对操作系统的CPU核中运行的服务进行检测;具体地,为了判断系统重新启动后或系统运行过程中,各类服务是否绑定在相应CPU核上运行,可以在服务器上引入一个监控服务,该监控服务每隔几秒执行一次,实时对系统中运行的服务进行检测。
步骤S303:判断检测的服务是否为配置文件中的服务;具体地,在对每个服务进行检测时,可以首先将该服务与配置文件中的服务进行对比,判断检测的服务是否为配置文件中的服务。
步骤S304:当检测的服务是配置文件中的服务时,判断服务是否按照配置文件中的绑定关系绑定;具体地,当检测的服务属于配置文件服务列表中的服务,则查看该服务是否绑定且是否正确绑定。当该服务没有绑定时,按照配置文件中的对应关系将服务进行绑定。
步骤S305:当未按照绑定关系绑定时,根据绑定关系和负载将服务绑定关系进行修改。具体地,当该服务被绑定时,按照负载和配置文件检查该服务绑定的是否合理,例如,业务服务和管理服务是否绑定在第一资源或第二资源中的默认核中,当服务负载较高时,是否绑定在扩展的核上等等。当绑定不合理时,可以根据绑定关系和负载将服务绑定关系进行修改。
在一实施例中,如图4所示,该CPU资源分配方法还包括如下步骤:
步骤S401:当检测的服务不是配置文件中的服务时,判断服务是否绑定在第三资源中;具体地,当检测的服务不属于配置文件列表中的服务,则可以认为该服务属于第三类服务,此时,可以判断该服务是否绑定在第三资源中。
步骤S402:当服务未绑定在第三资源中,根据第三资源的负载将服务的绑定关系进行修改。具体地,当确认服务为第三类服务时,则可以按照第三类服务和第三资源的对应关系将第三类服务进行绑定,若第三资源中的CPU核已经全部占用,且第三类服务的负载较大,在第一资源和第二资源未全部占用的情况下,可以将第三类服务绑定到第一资源或第二资源中。
在一实施例中,为了判断系统重新启动后或系统运行过程中,各类服务是否绑定在相应CPU核上运行,可以在服务器上引入一个监控服务,监控服务可以按照如图5所示的步骤对系统中的服务进行检测:首先获取配置文件中的配置信息,该配置信息包括需要进行资源限制的服务列表和服务与CPU核的绑定关系;根据配置信息检测服务是否在服务列表中,当在列表时,判断该服务是否进行资源绑定,若未绑定,则按照配置信息进行绑定;若已绑定,则检查该绑定是否合理,不合理时,按照配置信息修改绑定;当服务不在列表时,则认为该服务属于第三类服务,并查收该服务是否绑定正确,不正确时修改绑定即可。
在一实施例中,该CPU资源分配方法还包括如下步骤:将服务和资源中CPU核的绑定关系以及服务的当前修改信息以及历史修改信息保存到数据库中。具体地,数据库中存放的信息可以包括历史修改信息,修改时间等,便于后期查询。同时,在数据库中存放各种历史信息,便于快速回滚到某个状态。例如:第一次管理服务用2个核,后来由于业务原因需要改为三个核,运行一段时间需要回退到2个核,根据数据库记录回退即可。
本发明实施例提供的CPU资源分配方法,通过将服务和CPU核的绑定,可以在资源不足的情况下,保证系统能最大化的利用资源和系统正常运行。同时通过配置文件的设置以及监控服务的检测,可以使得操作系统重启或发生其他变化时,绑定关系仍然有效。此外,将数据保存到数据库,可以根据数据库的记录,可以快速回到各种模式;并通过跨物理CPU的绑定,提升了系统性能。
本发明实施例还提供一种CPU资源分配装置,如图6所示,该资源配置装置包括:
核数获取模块1,用于获取操作系统中CPU的核数;详细内容参见上述方法实施例中步骤S101的相关描述。
资源分配模块2,用于根据预设比例和核数对CPU核进行分配,得到第一资源、第二资源和第三资源;详细内容参见上述方法实施例中步骤S102的相关描述。
服务划分模块3,用于判断待处理服务的优先级是否属于第一优先级或第二优先级;详细内容参见上述方法实施例中步骤S103的相关描述。
第一绑定模块4,用于当待处理服务属于第一优先级时,将待处理服务绑定到第一资源中的CPU核上;详细内容参见上述方法实施例中步骤S104的相关描述。
第二绑定模块5,用于当待处理服务属于第二优先级时,将待处理服务绑定到第二资源中的CPU核上;详细内容参见上述方法实施例中步骤S105的相关描述。
第三绑定模块6,用于当待处理服务既不属于第一优先级也不属于第二优先级时,将待处理服务绑定到第三资源中的CPU核上。详细内容参见上述方法实施例中步骤S106的相关描述。
本发明实施例提供的CPU资源分配装置,通过根据物理CPU的核数对CPU核进行资源分配,之后可以将操作系统中运行的各类服务按照优先级进行分类,并将分类后的服务和分配后的各个资源进行绑定;由此可以使得各类服务均可用,并保证了系统的正常运行。解决了现有技术中某一类服务超负荷过载,将操作系统的CPU核数完全占用,导致其他类服务不可用,使得系统不能正常运行的问题。
在一实施例中,如图7所示,该CPU资源配置装置还包括:
第一满载检测模块21,用于当第三资源中的CPU核不能满足待处理服务的运行时,判断所述第一资源和/或第二资源中的CPU核是否全部占用;详细内容参见上述方法实施例中步骤S201的相关描述。
调整模块22,用于当未全部占用时,将待处理服务未运行的部分运行在第一资源和/或第二资源中未占用的CPU核上。详细内容参见上述方法实施例中步骤S202的相关描述。
第二满载检测模块23,用于当第一资源和/或第二资源中的CPU核不能满足待处理服务的运行时,将待处理服务未运行的部分运行在第三资源中的CPU核上。
在一实施例中,该资源配置装置还包括:跨PCU绑定模块,用于当操作系统中中包含多个CPU且待处理服务包含多个进程,将不同的进程绑定在不同的CPU上。
在一实施例中,如图8所示,该CPU资源配置装置还包括:
配置模块31,用于根据属于第一优先级和第二优先级的服务和CPU核的绑定关系生成配置文件;详细内容参见上述方法实施例中步骤S301的相关描述。
检测模块32,用于根据配置文件对操作系统的CPU核中运行的服务进行检测;详细内容参见上述方法实施例中步骤S302的相关描述。
判断模块33,用于判断检测的服务是否为所述配置文件中的服务;详细内容参见上述方法实施例中步骤S303的相关描述。
检测子模块34,用于当检测的服务是配置文件中的服务时,判断服务是否按照配置文件中的绑定关系绑定;详细内容参见上述方法实施例中步骤S304的相关描述。
第一修改模块35,用于当未按照绑定关系绑定时,根据绑定关系和负载将服务绑定关系进行修改。详细内容参见上述方法实施例中步骤S305的相关描述。
在一实施例中,如图9所示,该CPU资源配置装置还包括:
绑定确认模块41,用于当检测的服务不是配置文件中的服务时,判断服务是否绑定在第三资源中;详细内容参见上述方法实施例中步骤S401的相关描述。
第二修改模块42,用于当服务未绑定在第三资源中,根据第三资源的负载将服务的绑定关系进行修改。详细内容参见上述方法实施例中步骤S402的相关描述。
在一实施例中,该CPU资源配置装置还包括:存储模块,用于将服务和资源中CPU的绑定关系以及服务的当前修改信息及历史修改信息保存到数据库中。
本发明实施例提供的CPU资源分配装置,通过将服务和CPU核的绑定,可以在资源不足的情况下,保证系统能最大化的利用资源和系统正常运行。同时通过配置文件的设置以及监控服务的检测,可以使得操作系统重启或发生其他变化时,绑定关系仍然有效。此外,将数据保存到数据库,可以根据数据库的记录,可以快速回到各种模式;并通过跨物理CPU的绑定,提升了系统性能。
本发明实施例提供的CPU资源分配装置的功能描述详细参见上述实施例中CPU资源分配方法描述。
本发明实施例还提供一种存储介质,如图10所示,其上存储有计算机程序601,该指令被处理器执行时实现上述实施例中CPU资源分配方法的步骤。该存储介质上还存储有音视频流数据,特征帧数据、交互请求信令、加密数据以及预设数据大小等。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明实施例还提供了一种CPU资源分配设备,如图11所示,该CPU资源分配设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图11中以通过总线连接为例。
处理器51可以为中央处理器(CentralProcessingUnit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的CPU资源分配方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1-5所示实施例中的CPU资源分配方法。
上述CPU资源分配设备具体细节可以对应参阅图1至图5所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (9)
1.一种CPU资源分配方法,其特征在于,包括:
获取操作系统中CPU的核数;
根据预设比例和所述核数对CPU进行分配,得到第一资源、第二资源和第三资源;
判断待处理服务的优先级是否属于第一优先级或第二优先级;
当待处理服务属于第一优先级时,将待处理服务绑定到第一资源中的CPU核上;
当待处理服务属于第二优先级时,将待处理服务绑定到第二资源中的CPU核上;
当待处理服务既不属于第一优先级也不属于第二优先级时,将待处理服务绑定到第三资源中的CPU核上;
根据属于第一优先级和第二优先级的服务和CPU核的绑定关系生成配置文件;
根据所述配置文件对操作系统的CPU核中运行的服务进行检测;
判断检测的服务是否为所述配置文件中的服务;
当检测的服务是配置文件中的服务时,判断所述服务是否按照所述配置文件中的绑定关系绑定;
当未按照绑定关系绑定时,根据绑定关系和负载将所述服务绑定关系进行修改。
2.根据权利要求1所述的CPU资源分配方法,其特征在于,所述第一资源和第二资源中分别包括默认CPU核与预留CPU核,
当待处理服务在预设容量范围内时,将待处理服务绑定到默认CPU核中;
当待处理服务超出预设容量范围内时,将待处理服务绑定到默认CPU核与预留CPU核中。
3.根据权利要求1所述的CPU资源分配方法,其特征在于,还包括:
当第三资源中的CPU核不能满足待处理服务的运行时,判断所述第一资源和/或第二资源中的CPU核是否全部占用;
当未全部占用时,将待处理服务未运行的部分运行在第一资源和/或第二资源中未占用的CPU核上;
当第一资源和/或第二资源中的CPU核不能满足待处理服务的运行时,将待处理服务未运行的部分运行在第三资源中的CPU核上。
4.根据权利要求1所述的CPU资源分配方法,其特征在于,还包括:
当操作系统中包含多个CPU且待处理服务包含多个进程,将不同的进程绑定在不同的CPU上。
5.根据权利要求1所述的CPU资源分配方法,其特征在于,还包括:
当检测的服务不是配置文件中的服务时,判断所述服务是否绑定在第三资源中;
当所述服务未绑定在第三资源中,根据第三资源的负载将所述服务的绑定关系进行修改。
6.根据权利要求5所述的CPU资源分配方法,其特征在于,还包括:
将服务和资源中CPU的绑定关系以及服务的当前修改信息以及历史修改信息保存到数据库中。
7.一种CPU资源分配装置,其特征在于,包括:
核数获取模块,用于获取操作系统中CPU的核数;
资源分配模块,用于根据预设比例和所述核数对CPU核进行分配,得到第一资源、第二资源和第三资源;
服务划分模块,用于判断待处理服务的优先级是否属于第一优先级或第二优先级;
第一绑定模块,用于当待处理服务属于第一优先级时,将待处理服务绑定到第一资源中的CPU核上;
第二绑定模块,用于当待处理服务属于第二优先级时,将待处理服务绑定到第二资源中的CPU核上;
第三绑定模块,用于当待处理服务既不属于第一优先级也不属于第二优先级时,将待处理服务绑定到第三资源中的CPU核上;
配置模块,用于根据属于第一优先级和第二优先级的服务和CPU核的绑定关系生成配置文件;
检测模块,用于根据配置文件对操作系统的CPU核中运行的服务进行检测;
判断模块,用于判断检测的服务是否为所述配置文件中的服务;
检测子模块,用于当检测的服务是配置文件中的服务时,判断服务是否按照配置文件中的绑定关系绑定;
第一修改模块,用于当未按照绑定关系绑定时,根据绑定关系和负载将服务绑定关系进行修改。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行如权利要求1-6任一项所述的CPU资源分配方法。
9.一种CPU资源分配设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-6任一项所述的CPU资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950728.6A CN112068960B (zh) | 2020-09-10 | 2020-09-10 | 一种cpu资源分配方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950728.6A CN112068960B (zh) | 2020-09-10 | 2020-09-10 | 一种cpu资源分配方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112068960A CN112068960A (zh) | 2020-12-11 |
CN112068960B true CN112068960B (zh) | 2024-02-06 |
Family
ID=73695337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010950728.6A Active CN112068960B (zh) | 2020-09-10 | 2020-09-10 | 一种cpu资源分配方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068960B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817428A (zh) * | 2021-01-25 | 2021-05-18 | 广州虎牙科技有限公司 | 任务运行方法、装置、移动终端和存储介质 |
CN112463772B (zh) * | 2021-02-02 | 2022-05-27 | 北京信安世纪科技股份有限公司 | 日志处理方法、装置、日志服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832151A (zh) * | 2017-11-10 | 2018-03-23 | 东软集团股份有限公司 | 一种cpu资源分配方法、装置及设备 |
CN109542603A (zh) * | 2018-11-22 | 2019-03-29 | 北京航空航天大学 | 一种提高不同优先级任务间隔离性的多维资源隔离系统 |
CN109697122A (zh) * | 2017-10-20 | 2019-04-30 | 华为技术有限公司 | 任务处理方法、设备及计算机存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522101B (zh) * | 2017-09-20 | 2023-11-14 | 三星电子株式会社 | 用于调度多个操作系统任务的方法、系统和/或装置 |
KR102641520B1 (ko) * | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
-
2020
- 2020-09-10 CN CN202010950728.6A patent/CN112068960B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697122A (zh) * | 2017-10-20 | 2019-04-30 | 华为技术有限公司 | 任务处理方法、设备及计算机存储介质 |
CN107832151A (zh) * | 2017-11-10 | 2018-03-23 | 东软集团股份有限公司 | 一种cpu资源分配方法、装置及设备 |
CN109542603A (zh) * | 2018-11-22 | 2019-03-29 | 北京航空航天大学 | 一种提高不同优先级任务间隔离性的多维资源隔离系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112068960A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941481A (zh) | 资源调度方法、装置及系统 | |
CN108334396B (zh) | 一种数据处理方法和装置、资源组的创建方法和装置 | |
US9335998B2 (en) | Multi-core processor system, monitoring control method, and computer product | |
CN112068960B (zh) | 一种cpu资源分配方法、装置、存储介质及设备 | |
WO2016165304A1 (zh) | 一种实例节点管理的方法及管理设备 | |
US20170017511A1 (en) | Method for memory management in virtual machines, and corresponding system and computer program product | |
CN110401700B (zh) | 模型加载方法及系统、控制节点及执行节点 | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
US20110107344A1 (en) | Multi-core apparatus and load balancing method thereof | |
EP3335120A1 (en) | Method and system for resource scheduling | |
CN103593242A (zh) | 基于Yarn框架的资源共享控制系统 | |
CN111209110A (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN110609749B (zh) | 一种分布式任务运行方法、系统及设备 | |
CN112445615A (zh) | 一种线程的调度系统、计算机设备和存储介质 | |
CN110737453A (zh) | 安全芯片的升级方法、装置及安全芯片 | |
CN111538585B (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
CN112948169A (zh) | 数据备份的方法、装置、设备和存储介质 | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
CN114637598A (zh) | 车辆控制器及其操作系统的调度方法 | |
CN113946491A (zh) | 微服务数据处理方法、装置、计算机设备及存储介质 | |
CN115543530A (zh) | 一种虚拟机迁移方法以及相关装置 | |
CN112948113A (zh) | 一种集群资源管理调度方法、装置、设备及可读存储介质 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN114116203A (zh) | 一种资源调用控制方法、资源调用控制装置及存储介质 | |
CN114238137A (zh) | 一种批处理任务测试方法、装置、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |