首页> 中国专利> 一种动态调整CPU核的方法、装置、电子设备及存储介质

一种动态调整CPU核的方法、装置、电子设备及存储介质

摘要

本发明提供一种动态调整CPU核的方法、装置、电子设备及存储介质。所述动态调整CPU核的方法,包括在系统运行过程中确定系统资源状态;若所述系统资源状态为资源紧张状态,则对后台应用的可用CPU核数量进行限制操作。解决了应用长期挂在操作系统后台导致操作系统变慢,续航能力变差的问题。

著录项

  • 公开/公告号CN112286690A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 珠海格力电器股份有限公司;

    申请/专利号CN202011241260.X

  • 发明设计人 孙红辉;

    申请日2020-11-09

  • 分类号G06F9/50(20060101);

  • 代理机构11372 北京聿宏知识产权代理有限公司;

  • 代理人吴大建;胡晓男

  • 地址 519000 广东省珠海市前山金鸡西路

  • 入库时间 2023-06-19 09:44:49

说明书

技术领域

本发明涉及CPU资源调度技术领域,特别涉及一种动态调整CPU核的方法、装置、电子设备及存储介质。

背景技术

CPU核,是CPU最重要的组成部分,CPU所有的计算、接受/存储命令、处理数据都由CPU核执行。然而,随着Android等操作系统应用越来越多,总会存在一些应用长期挂在操作系统后台,这会导致操作系统变慢,续航能力变差。

因此,本领域亟需解决应用长期挂在操作系统后台导致操作系统变慢,续航能力变差的问题。

发明内容

为解决应用长期挂在操作系统后台导致操作系统变慢,续航能力变差的问题,本发明提供一种动态调整CPU核的方法、装置、电子设备及存储介质。

第一方面,本发明提供一种动态调整CPU核的方法,包括:

在系统运行过程中确定系统资源状态;

若所述系统资源状态为资源紧张状态,则对后台应用的可用CPU核数量进行限制操作。

根据本发明的实施例,可选地,所述在系统运行过程中确定系统资源状态,包括:

获取系统运行过程中CPU核占用率;

当所述CPU核占用率大于第一预设值时,确定所述系统资源状态为资源紧张状态。

根据本发明的实施例,可选地,所述在系统运行过程中确定系统资源状态,包括:

获取系统运行过程中前台应用的掉帧率;

当所述掉帧率大于第二预设值时,确定所述系统资源状态为资源紧张状态。

根据本发明的实施例,可选地,所述在系统运行过程中确定系统资源状态,包括:

确定前台应用是否为重量级别应用;

当所述前台应用是否为重量级别应用时,确定所述系统资源状态为资源紧张状态。

根据本发明的实施例,可选地,所述在系统运行过程中确定系统资源状态,包括:

判断系统是否处于亮屏状态;

当系统处于亮屏状态时,确定所述系统资源状态为资源紧张状态。

根据本发明的实施例,可选地,所述在系统运行过程中确定系统资源状态,包括:

获取后台应用的数量;

当所述后台应用的数量大于第三预设值时,确定所述系统资源状态为资源紧张状态。

根据本发明的实施例,可选地,所述对后台应用的可用CPU核数量进行限制操作,包括:

修改后台应用所属组的可用CPU核数量。

根据本发明的实施例,可选地,所述对后台应用的可用CPU核数量进行限制操作,包括:

将后台应用绑定到非调度CPU核。

根据本发明的实施例,可选地,所述方法还包括:

若所述系统资源状态不为资源紧张状态,则取消对后台应用的可用CPU核数量的限制操作。

第二方面,本发明提供一种动态调整CPU核的装置,包括:

确定模块,用于在系统运行过程中确定系统资源状态;

操作模块,用于若所述系统资源状态为资源紧张状态,则对后台应用的可用CPU核数量进行限制操作。

第三方面,本发明提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述的动态调整CPU核的方法。

第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现第一方面所述的动态调整CPU核的方法。

本发明与现有技术相比,至少具有如下有益效果:

通过在系统运行过程中确定系统资源状态;在所述系统资源状态为资源紧张状态时,对后台应用的可用CPU核数量进行限制操作,解决了应用长期挂在操作系统后台导致操作系统变慢,续航能力变差的问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的一种动态调整CPU核的方法流程图;

图2是本发明实施例提供的一种动态调整CPU核的装置框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了一种动态调整CPU核的方法流程图,如图1所示,本实施例提供一种动态调整CPU核的方法,包括如下步骤:

步骤S110、在系统运行过程中确定系统资源状态。

步骤S120、若系统资源状态为资源紧张状态,则对后台应用的可用CPU核数量进行限制操作。

本实施例中,通过在系统运行过程中实时监控系统资源状态,当处于资源紧张状态时,及时对后台应用(后台运行的应用)的可用CPU核数量进行限制操作,避免后台应用占用过多的CPU核,导致系统卡顿和续航能力变差,有效提升了系统流畅性和续航能力。

可以理解的是,系统资源状态为非资源紧张状态下,无需调整后台应用的可用CPU核数量,对后台应用的可用CPU核数量不限制。因此,本方法还包括:

步骤S130、若系统资源状态不为资源紧张状态,则取消对后台应用的可用CPU核数量的限制操作。

通过在系统资源状态为资源紧张状态时,对后台应用的可用CPU核数量进行限制操作,在系统资源状态不为资源紧张状态时,取消对后台应用的可用CPU核数量的限制操作,能够动态地调整CPU核,提高多核处理器的CPU核利用率,且有效提升系统流畅性和续航能力。

在实际应用中,既可以在系统运行过程中实时确定系统资源状态,也可以周期性确定系统资源状态,例如,每5s、10s或者5min,确定一次系统资源状态,根据检测到的系统资源状态,决定对后台应用的可用CPU核数量的限制操作,或是取消对后台应用的可用CPU核数量的限制操作。

在一些实施方式中,可以根据系统运行过程中CPU核占用率,确定系统是否处于资源紧张状态,上述步骤S110中在系统运行过程中确定系统资源状态,包括如下子步骤:

步骤S110-1a、获取系统运行过程中CPU核占用率。

步骤S110-2a、当CPU核占用率大于第一预设值时,确定系统资源状态为资源紧张状态。

可以理解的是,当CPU核占用率不大于第一预设值时,确定系统资源状态不为资源紧张状态。

举例来说,第一预设值为90%,被占用的CPU核大于多核处理器的所有CPU核的90%,则系统卡顿和续航能力变差,确定此时的系统资源状态为资源紧张状态,需要对后台应用的可用CPU核数量进行限制操作,以缓解资源紧张状态。相反地,若CPU核占用率未达到90%,则认为系统运行流畅,确定此时的系统资源状态不为资源紧张状态,即:系统空闲。

在另一些实施方式中,可以根据系统运行过程中前台应用的掉帧率,确定系统是否处于资源紧张状态,上述步骤S110中在系统运行过程中确定系统资源状态,包括如下子步骤:

步骤S110-1b、获取系统运行过程中前台应用的掉帧率。

步骤S110-2b、当掉帧率大于第二预设值时,确定系统资源状态为资源紧张状态。

其中,前台应用的掉帧率是单位时间内(如1秒钟)内连续掉预设帧数的次数,在实际应用中,预设帧数可以设置为15、20、30,或者其他数值,第二预设值可以设置为5,预设帧数和第二预设值根据实际需求设置即可,此处不做限定。

以单位时间为1秒钟、预设帧数为15、第二预设值为5为例,根据系统运行过程中获取系统运行过程中前台应用的掉帧率,当1秒钟连续掉15帧的次数大于5次,确定系统资源状态为资源紧张状态,需要对后台应用的可用CPU核数量进行限制操作,以缓解资源紧张状态。相反地,若1秒钟连续掉15帧的次数达不到5次,则认为系统运行流畅,确定此时的系统资源状态不为资源紧张状态。

在另一些实施方式中,可以根据前台应用(前台运行的应用)是否为重量级别应用,确定系统是否处于资源紧张状态,上述步骤S110中在系统运行过程中确定系统资源状态,包括如下子步骤:

步骤S110-1c、确定前台应用是否为重量级别应用。

步骤S110-2c、当前台应用是否为重量级别应用时,确定系统资源状态为资源紧张状态。

其中,重量级别应用是指消耗的CPU时间较多且占用内存较大的应用,例如,前台应用消耗的CPU时间超过80%且占用内存超过40%,则认为该前台应用是重量级别应用,当前台应用为重量级别应用时,由于所需资源较多,会造成系统资源紧张,需要对后台应用的可用CPU核数量进行限制操作,以缓解资源紧张状态,可以理解的是,系统不同或者硬件平台不同,判断重量级别应用的标准可能不同,根据实际情况设置即可。

在另一些实施方式中,可以根据系统是否处于亮屏状态,确定系统是否处于资源紧张状态,上述步骤S110中在系统运行过程中确定系统资源状态,包括如下子步骤:

步骤S110-1d、判断系统是否处于亮屏状态。

步骤S110-2d、当系统处于亮屏状态时,确定系统资源状态为资源紧张状态。

当系统处于亮屏状态,也就是屏幕处于亮起的状态时,认为系统消耗资源较多,确定系统资源状态为资源紧张状态,需要对后台应用的可用CPU核数量进行限制操作,以缓解资源紧张状态;相反地,屏幕处于熄灭的状态时,认为系统消耗资源较少,确定系统资源状态不为资源紧张状态。

在另一些实施方式中,可以根据后台应用的数量,确定系统是否处于资源紧张状态,上述步骤S110中在系统运行过程中确定系统资源状态,包括如下子步骤:

步骤S110-1e、获取后台应用的数量。

步骤S110-2e、当后台应用的数量大于第三预设值时,确定系统资源状态为资源紧张状态。

举例来说,第三预设值设置为10,当后台应用的数量大于10个时,则说明系统此时处于资源紧张状态,需要对后台应用的可用CPU核数量进行限制操作,以缓解资源紧张状态;相反地,若后台应用的数量未达到10个时,则无需对后台应用的可用CPU核数量进行限制操作。

在通过上述几种确定系统资源状态的实施方式中的任一实施方式确定了系统资源状态为资源紧张状态后,为了缓解资源紧张状态,本方法通过对后台应用的可用CPU核数量进行限制操作,以减少后台应用的可用CPU核数量,相应地减少了后台应用消耗的CPU资源,后台应用的耗电量也随着相应地减少,从而能够提升系统运行的流畅性和续航能力。

在一些实施方式中,上述步骤S120中对后台应用的可用CPU核数量进行限制操作,包括如下子步骤:

步骤S120-a、修改后台应用所属组的可用CPU核数量。

为了方便对应用的资源分配的管控,将应用划分为不同组,系统为每个组分配的资源是不一样的,系统根据应用的优先级来决定哪些应用在哪些组里,例如,前台应用在最高优先级的组里,后台应用在最低优先级组里,可以通过修改后台应用所在的最低优先级组的可用CPU核数量,实现限制后台应用的可用CPU核数量。

在实际应用中,当应用退出到后台,系统会将其加入background组(后台应用组),可以通过修改background组的可用CPU核数量,减少后台应用的可用CPU核数量,来限制后台应用的可用CPU核数量,以使后台应用少占用CPU资源,有效防止后台应用抢占前台应用的CPU核资源而导致的卡顿。

在一些实施方式中,系统还可以通过将后台应用绑定到特定CPU核,来限制后台应用的可用CPU核数量,因此,上述步骤S120中对后台应用的可用CPU核数量进行限制操作,包括如下子步骤:

步骤S120-b、将后台应用绑定到非调度CPU核。

在系统中,调度核是用来执行CPU核调度策略代码的CPU核,调度核控制非调度核的开关,调度核通常为CPU的第一个核。

举例来说,应用环境为一个八核的CPU,其中4个大核、4个小核,CPU核编号为0到7,将后台应用绑定到最后的两个小核心上,就是将后台应用限制在编号为2、3的CPU核上运行,此处的编号为2、3的CPU核即非调度CPU核,当系统资源紧张时,通过将后台应用绑定到这两个特定CPU核,防止调度核被占用导致的系统卡顿。

与实施例一对应地,本实施例提供一种动态调整CPU核的装置,如图2所示,包括如下模块:

确定模块210,用于在系统运行过程中确定系统资源状态;

操作模块220,用于若所述系统资源状态为资源紧张状态,则对后台应用的可用CPU核数量进行限制操作。

可以理解的是,确定模块210可以用于执行实施例一中的步骤S110,操作模块220可以用于执行实施例一中的步骤S120。进一步地,操作模块220还可以用于执行实施例一中的步骤S130。各步骤的具体内容请参见实施例一,此处不再赘述。

显然本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这一本发明不限制于任何限定的硬件和软件结合。

本实施例提供一种电子设备,包括存储器和处理器,该存储器上存储有计算机程序,该计算机程序被所述处理器执行时实现实施例一的动态调整CPU核的方法。

本实施例中,处理器可以是专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(ProgrammableLogic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例中的动态调整CPU核的方法。在处理器上运行的计算机程序被执行时所实现的方法可参照本发明实施例一提供的动态调整CPU核的方法的具体实施例,此处不再赘述。

本实施例提供一种存储介质,该存储介质上存储有计算机程序,改计算机程序被一个或多个处理器执行时,实现实施例一的动态调整CPU核的方法。

本实施例中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

综上所述,本发明实施例提供的动态调整CPU核的方法、装置、电子设备及存储介质,在系统运行过程中确定系统资源状态,能够根据具体场景动态调整后台应用的可用CPU核数量,在资源紧张状态时对后台应用的可用CPU核数量进行限制操作,解决了应用长期挂在操作系统后台导致操作系统变慢,续航能力变差的问题,实现了从CPU核的调度策略上优化,使系统得流畅性及续航能力都有明显提升。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统和方法实施例仅仅是示意性的。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号