CN114116230A - 一种资源管理方法、装置、设备、介质及产品 - Google Patents
一种资源管理方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN114116230A CN114116230A CN202111501393.0A CN202111501393A CN114116230A CN 114116230 A CN114116230 A CN 114116230A CN 202111501393 A CN202111501393 A CN 202111501393A CN 114116230 A CN114116230 A CN 114116230A
- Authority
- CN
- China
- Prior art keywords
- abnormal
- normal
- cpu
- resource
- preset
- 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
Links
Images
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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
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
本申请实施例提供了一种资源管理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及操作系统领域。该方法包括:获取多个正常进程的资源使用状态;若确定多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程;若筛选出至少一个异常进程,由cgroup组件为至少一个异常进程重新分配预设的资源。该方法通过对进程的资源使用状态的监控,为处于异常的进程重新分配预设的资源,避免系统中运行异常的进程对系统的运行过程的影响,进而维护系统的正常运行。
Description
技术领域
本申请涉及操作系统领域,具体而言,本申请涉及一种资源管理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
目前,系统资源管理中,一般采用资源控制机制——cgroup机制来管理进程的各种资源分配。尽管如此,对于某些运行异常的进程,尤其是对系统资源存在不正常占用的进程,即运行异常的进程,会影响系统对其他进程的资源分配,进而影响整个系统的正常运行,例如,系统卡顿甚至崩溃。
因此,如何应对运行异常的进程对系统整体运行的不利影响,是目前急需解决的技术问题。
发明内容
本申请实施例的目的旨在能消除部分运行异常的进程对系统的运行过程的不利影响。
根据本申请实施例的一个方面,提供了一种资源管理方法,该方法包括:
获取多个正常进程的资源使用状态;
若确定多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程;
若筛选出至少一个异常进程,由cgroup组件为至少一个异常进程重新分配预设的资源。
在一种可能的实现方式中,该资源使用状态,包括以下至少一项;
进程的CPU使用率;
进程的内存使用量。
在另一种可能的实现方式中,确定资源使用状态为异常,包括:
若任一正常进程的CPU使用率大于第一预设阈值,和/或,若任一正常进程的内存使用量大于第二预设阈值,确定任一正常进程资源的使用状态为异常。
在又一种可能的实现方式中,由cgroup组件为至少一个异常进程重新分配预设的资源,具体包括:
将至少一个异常进程与预设的CPU资源进行绑定;由cgroup组件为至少一个异常进程分配预设的CPU资源。
在有一种可能的实现方式中,在获取任一异常进程的CPU使用率和内存使用量之后,该方法还包括:
若任一异常进程的CPU使用率大于第三预设阈值,或者,预设的CPU资源已满,停止向任一异常进程分配CPU资源,其中,第三预设阈值小于第一预设阈值;
或者;
若任一异常进程的内存使用量大于第四预设阈值,停止向任一异常进程分配内存资源,其中,第四预设阈值小于第二预设阈值。
在又一种可能的实现方式中,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程,具体包括:
根据预设白名单对至少一个正常进程中每个正常进程进行匹配,其中,预设白名单包括系统中的关键进程;
筛选出所有匹配失败的正常进程,并确定为异常进程。
根据本申请实施例的另一个方面,提供了一种资源管理装置,该装置包括:
获取模块,用于获取多个正常进程的资源使用状态;
筛选模块,用于若确定多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程;
分配模块,用于若筛选出至少一个异常进程,由cgroup组件为至少一个异常进程重新分配预设的资源。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现本申请上述一个方面所示方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请上述一个方面所示方法的步骤。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请上述一个方面所示方法的步骤。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种资源管理方法,通过获取多个正常进程的资源使用状态,可以了解正常进程的运行情况,并且在确定正常进程的资源使用状态为异常时,采取合理手段介入以避免该运行出现异常的正常进程对系统整体运行产生不利影响。在筛选出运行异常的正常进程之后,根据预设白名单对出现异常的正常进程进行筛选,并将筛选出的正常进程确定为异常进程,可以避免将系统中的关键进程也纳入处理范围,从而导致系统运行异常。在筛选出至少一个异常进程之后,则由cgroup组件为所有的异常进程重新分配预设的资源,以便对异常进程的资源分配形成有效管理。本申请提供的方法,通过监控进程的资源使用状态,对出现异常的进程采取相应措施,避免了系统中运行异常的进程对系统整体运行的影响,从而维护系统的正常运行。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种资源管理系统的结构示意图;
图2为本申请实施例提供的一种资源管理方法的流程示意图;
图3为本申请实施例提供的一种资源管理装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种资源管理方法,该方法可以由设备/系统实现,该设备上可以运行着Linux、Android等操作系统。该操作系统(以下常简称系统)中提供了cgroup机制、top命令、procrank命令等或者类似的机制、命令、服务等,其中:
cgroup机制:全称为Control Groups,是Linux内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如CPU、内存、磁盘IO等等)的机制,cgroup机制包括控制族群(controlgroup)和子系统(subsystem)等概念。其中,控制族群是一组按照指定标准划分的进程,在cgroup机制中,资源控制都是以控制族群为单位实现。一个进程可以加入到某个控制族群,也可以从一个控制族群迁移到另一个控制族群,一个进程组的进程可以使用以控制族群为单位分配的资源,同时受到以控制族群为单位所设定的限制。其中,一个子系统是一个资源控制器,cgroup机制中包括多种类型的子系统,例如:cpu子系统,使用调度程序提供对CPU的进程访问;cpuset子系统,为进程组或者进程分配独立CPU(在多核系统中)和内存节点;memory子系统,设定进程的内存使用限制,并自动生成每个进程使用内存资源的报告;cpuacct子系统,自动生成进程所使用CPU的报告。cgroup机制还包括其他类型的子系统,为描述简便,在此不再赘述。在本申请实施例中,将维护cgroup机制的相关功能组件统一称作cgroup组件。
top命令:Linux下常用的性能分析工具,通过该工具能够实时获取系统中各个进程的资源占用情况(包括CPU使用情况等),类似于window系统中的任务管理器。
procrank命令:Linux系统提供的一种工具,通过该工具可以获取系统中所有进程的整体内存占用情况,并按照设定规则排序。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
参见图1,本申请实施例提供了一种资源管理的系统的结构示意图。在系统100中,在用户空间侧配置了系统监控服务110,在内存空间侧配置了cgroup组件120,其中该系统监控服务110主要由配置模块111、状态监控模块112、决策模块113组成。
配置模块111中预存有预设白名单,该预设白名单中包括多个系统的关键进程;其中,在本申请实施例中,该关键进程为CPU资源和内存资源不受限制的进程。配置模块111还预存有关于进程的CPU资源配置表,该表用于提供对进程的CPU资源使用限制的参考,具体参见下述表1。配置模块111还预存有关于进程的内存资源配置表,该表用于提供对进程的内存资源使用限制的参考,具体参见下述表2。
进程标识 | 阈值1 | 绑定的CPU | 阈值3 |
社交应用1 | 30% | CPU_7 | 5% |
系统服务2 | 10% | CPU_7 | 5% |
表1CPU资源配置表
进程标识 | 阈值2 | 绑定的CPU | 阈值4 |
社交应用1 | 200M | CPU_7 | 100M |
文本应用3 | 30M | CPU_7 | 10M |
表2内存资源配置表
表1中,阈值1表示在正常运转状态下,可以分配给进程的CPU资源的上限;绑定的CPU表示系统确定进程的CPU使用率达到阈值1之后,将进程和指定CPU资源进行绑定,且只能基于该指定CPU来为该进程分配CPU资源;阈值3表示通过绑定的CPU来为进程分配CPU资源之后,可以分配给进程的CPU资源的上限。
表2中,阈值2表示在正常运转状态下,可以分配给进程的内存资源的上限;绑定的CPU表示系统确定进程的内存使用量达到阈值2之后,将进程和指定CPU资源进行绑定,且只能基于该指定CPU来为进程分配CPU资源;阈值4表示通过绑定的CPU来为进程分配CPU资源之后,可以分配给进程的内存资源的上限。
关于上述表1和表2作出如下说明:设置的阈值3小于阈值1,阈值4小于阈值2。一个进程,可以单独配置其CPU资源的使用限制,也可以单独配置其内存资源的使用限制,也可以同时配置CPU资源、内存资源的使用限制。作为进程标识的,可以是上述表1和表2中所示的应用名称或者服务名称(具备唯一性),也可以是其他标识,进程标识应具备唯一性;由于在每次进程启动之后,系统会加载上述表1、表2并作为参考,因此进程标识还应具备固定不变的特质,而仅在运行中出现的唯一标识不宜作为进程标识,例如进程ID。系统中运行的进程,既可以是系统服务对应的进程,也可以是应用对应的进程。在为进程设定绑定的CPU时,通常设置为同一个CPU资源,例如上述CPU_7。也可以说,将这些需要处理的异常进程放置在一个控制族群中,以进行限制。
另外,在本申请实施例提供的示例中,系统运行在多核CPU的环境中。例如,可以设置为运行在8核CPU上,那么系统可以操作的CPU资源为CPU_0~CPU_7。其中CPU_0为bootCPU,为系统启动提供相应的CPU资源,CPU_0不适宜作为绑定的CPU。可以将CPU_1~CPU_7中任一个作为绑定的CPU,在表1和表2中,选择将CPU_7作为绑定的CPU。
状态监控模块112,具体用于监控进程的CPU使用率和内存使用量。其中,监控的进程为系统中正在运行的多个进程。该进程既可以是本申请实施例中的正常进程,也可以是异常进程。在本申请实施例的实际应用中,可以将正常进程和异常进程通过标识进行区分。在该状态监控模块中,可以通过配置top命令、procrank命令等,定期获取各进程的CPU使用率和内存使用量。
状态监控模块112获取到CPU使用率和内存使用量之后,将其发送给决策模块113进行处理,决策模块113可以根据配置模块111中配置的上述表1和表2,确定对某个进程采用哪种资源分配策略。
示例性地,针对社交应用1而言,若社交应用1为正常进程,则配置的资源分配策略为:可分配任一CPU资源(例如CPU_0~CPU_7),CPU使用率不大于阈值1,内存使用量不大于阈值2。若社交应用1为异常进程,则配置的资源分配策略为:只能绑定至设定的某一CPU资源(例如CPU_7),CPU使用率不大于阈值3,内存使用量不大于阈值4。其中,当作为正常进程的社交应用1的CPU使用率大于阈值1,和/或,内存使用量大于阈值2,则确定社交应用1为异常进程。在本申请实施例中,任一进程在刚启动时,是正常进程。
决策模块113确定了资源分配策略之后,向cgroup组件120发送通知消息,以通知cgroup组件120按照确定的资源分配策略为进程重新分配CPU资源或内存资源。
cgroup组件120根据资源分配策略,重新为进程分配CPU资源或者内存资源,并按照资源分配策略限定进程的资源分配。
本申请实施例还提供了一种基于cgroup机制进行资源管理的具体示例,该示例中主要使用到了cgroup机制中的cpuset子系统、cpu子系统、cpuacct子系统、memory子系统。其中,cpuset子系统主要用于限定进程只能在指定的cpu上运行。配置cpuset子系统的示例性代码如下:
mkdir/sys/fs/cgroup/cpuset/control
mkdir/sys/fs/cgroup/cpu,cpuacct/control
mkdir/sys/fs/cgroup/memory/control
echo“N-1”>/sys/fs/cgroup/cpuset/control/cpuset.cpus
配置某个进程的示例性代码如下:
echo“进程号”>/sys/fs/cgroup/cpuset/control/cgroup.procs
echo“进程号”>/sys/fs/cgroup/cpu,cpuacct/control/cgroup.procs
echo“进程号”>/sys/fs/cgroup/memory/control/cgroup.procs
echo“时间周期”>/sys/fs/cgroup/cpu,cpuacct/control/cpu.cfs_period_usecho“使用cpu时间”>/sys/fs/cgroup/cpu,cpuacct/control/cpu.cfs_quota_us
echo“限制内存字节数”>/sys/fs/cgroup/memory/control/memory.limit_in_bytes
本领域技术人员在具体应用上述示例性代码时,“进程号”位置填写具体的进程ID;“时间周期”和“使用CPU时间”用来控制进程的CPU的使用率,分别填写具体的时间戳信息和时间周期信息;“限制内存字节数”用来控制进程的内存使用量,填写具体的限制数字。
监控模块112对系统中运行的进程都实施了监控。考虑到被评定为运行异常的正常进程对系统的不利影响已经得到了控制,因此,更重要的是监控运行中的正常进程是否运行异常,并且如何控制其运行过程对系统整体运行的影响。
参见图2,本申请实施例提供了一种资源管理方法的流程示意图。其中,该方法包括:
S210,获取多个正常进程的资源使用状态。
其中,该资源使用状态至少可以包括进程的CPU使用率和进程的内存使用量中至少一项。
具体地,可以周期性地获取多个正常进程的资源使用状态,每获取一次,就执行一次筛选。
具体地,所述正常进程指执行本步骤之前没有证据表明其运行存在异常的进程。
S220,若确定多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程。
其中,确定资源的使用状态为异常具体可以包括:若任一正常进程的CPU使用率大于第一预设阈值,和/或,若任一正常进程的内存使用量大于第二预设阈值,确定任一正常进程的资源使用状态为异常。
示例性地,该第一预设阈值可以是上述实施例中的阈值1,第二预设阈值可以是上述实施例中的阈值2。系统中运行着进程标识为社交应用1的进程(同时设置了CPU资源和内存资源的使用限制,例如,上述表1和表2),其中一次获取的资源使用状态如下:CPU使用率为10%,内存使用量为80M,则该进程的资源使用状态为正常;另一次获取的资源使用状态如下:CPU使用率为31%,内存使用量为80M,由于31%大于阈值1,因此判断该进程的内存使用状态为异常。
S230,若筛选出至少一个异常进程,由cgroup组件为至少一个异常进程重新分配预设的资源。
具体地,将至少一个异常进程与预设的CPU资源进行绑定,由cgroup组件为至少一个异常进程分配预设的CPU资源。
接上述社交应用1的示例,由于CPU使用率大于阈值1,需将社交应用1与CPU_7(对应预设的CPU资源,通常是一个指定的CPU)进行绑定。在具体执行时,在社交应用1请求分配CPU资源时,cgroup组件为社交应用1分配CPU_7,在将CPU_7分配给社交应用1使用时,限制社交应用1的CPU使用率为不大于5%。
本申请实施例提供了一种资源管理方法,通过获取多个正常进程的资源使用状态,可以了解正常进程的运行情况,并且在确定正常进程的资源使用状态为异常时,采取合理手段介入以避免该运行出现异常的正常进程对系统整体运行产生不利影响。在筛选出运行异常的正常进程之后,根据预设白名单对出现异常的正常进程进行筛选,并将筛选出的正常进程确定为异常进程,可以避免将系统中的关键进程也纳入处理范围,从而导致系统运行异常。在筛选出至少一个异常进程之后,则由cgroup组件为所有的异常进程重新分配预设的资源,以便对异常进程的资源分配形成有效管理。本申请提供的方法,通过对进程的资源使用状态进行监控,对出现异常的进程采取相应措施,避免了系统中运行异常的进程对系统运行过程的影响,从而维护系统的整体正常运行。
本申请实施例还提供了一种可能的实现方式,在获取任一异常进程的CPU使用率和内存使用量之后,该方法还包括:
若任一异常进程的CPU使用率大于第三预设阈值,或者,预设的CPU资源已满,停止向任一异常进程分配CPU资源,其中,第三预设阈值小于第一预设阈值;
或者;
若任一异常进程的内存使用量大于第四预设阈值,停止向任一异常进程分配内存资源,其中,第四预设阈值小于第二预设阈值。
具体地,确定异常进程与预设的CPU资源绑定之后,若获取的异常进程的CPU使用率大于第三预设阈值,在该异常进程还向系统申请CPU资源时,停止向该异常进程分配CPU资源。若获取的异常进程的内存使用量大于第四预设阈值,在该异常进程还向系统申请内存资源时,停止向该异常进程分配内存资源。
示例性地,该第三预设阈值可以是上述实施例中的阈值3,该第四预设阈值可以是上述实施例中的阈值4。
在正常进程的资源使用状态出现了异常,需要为确定为异常进程的该正常进程重新确定资源分配策略,以便于对其进行管理。由于异常进程的资源使用状态为异常,可以先通过限制其资源的使用来减少该类型进程对系统中其他进程(尤其是其他进程的资源分配)产生的不利影响。部分异常进程可以在被限制一段时间后恢复正常(CPU使用率和内存使用量趋于正常),或者在被限制一段时间后停止运行,这样的结果对系统的整体正常运行而言,都是有利的。
本申请实施例还提供了一种可能的实现方式,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程,具体可以包括:
根据预设白名单对至少一个正常进程中每个正常进程进行匹配,其中,预设白名单包括系统中的关键进程;筛选出所有匹配失败的正常进程,并确定为异常进程。
具体地,该预设白名单中可以包括进程的进程标识。其中,该预设白名单中设置的进程标识,可以和表1、表2中的进程标识在形式上保持一致,也可以是与上述表1、表2中进程标识相对应的其他标识。
参见图3,本申请实施例还提供了一种资源管理装置的结构示意图,该装置300包括:
获取模块310,用于获取多个正常进程的资源使用状态;
筛选模块320,用于若确定多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程;
分配模块330,用于若筛选出至少一个异常进程,由cgroup组件为至少一个异常进程重新分配预设的资源。
在一种可能的实现方式中,所获取的资源使用状态包括以下至少一项:
进程的CPU使用率;进程的内存使用量。
在一种可能的实现方式中,装置300包括确定模块340,用于确定资源使用状态为异常,具体地:
若任一正常进程的CPU使用率大于第一预设阈值,和/或,若任一正常进程的内存使用量大于第二预设阈值,确定任一正常进程的资源使用状态为异常。
在一种可能的实现方式中,分配模块330在由cgroup组件为至少一个异常进程重新分配预设的资源中,具体用于:
将至少一个异常进程与预设的CPU资源进行绑定;由cgroup组件为至少一个异常进程分配预设的CPU资源。
在一种可能的实现方式中,分配模块330在获取任一异常进程的CPU使用率和内存使用量之后,还可以用于:
若任一异常进程的CPU使用率大于第三预设阈值,或者,预设的CPU资源已满,停止向任一异常进程分配CPU资源,其中,第三预设阈值小于第一预设阈值;
或者;
若任一异常进程的内存使用量大于第四预设阈值,停止向任一异常进程分配内存资源,其中,第四预设阈值小于第二预设阈值。
在一种可能的实现方式中,筛选模块320在根据预设白名单对至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程中,具体用于:
根据预设白名单对至少一个正常进程中每个正常进程进行匹配,其中,预设白名单包括系统中的关键进程;筛选出所有匹配失败的正常进程,并确定为异常进程。
本申请实施例中提供了一种电子设备(计算机装置/设备/系统),包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现本申请上述实施例所示方法的步骤。
在一个可选实施例中提供了一种电子设备,如图4所示,图4所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:运行着Linux系统、Android系统的设备。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种资源管理方法,其特征在于,包括:
获取多个正常进程的资源使用状态;
若确定所述多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对所述至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程;
若筛选出至少一个异常进程,由cgroup组件为所述至少一个异常进程重新分配预设的资源。
2.根据权利要求1所述的方法,其特征在于,所述资源使用状态,包括以下至少一项:
进程的CPU使用率;
所述进程的内存使用量。
3.根据权利要求2所述的方法,其特征在于,确定资源使用状态为异常,包括:
若任一正常进程的CPU使用率大于第一预设阈值,和/或,若所述任一正常进程的内存使用量大于第二预设阈值,确定所述任一正常进程的资源使用状态为异常。
4.根据权利要求3所述的方法,其特征在于,所述由cgroup组件为所述至少一个异常进程重新分配预设的资源,包括:
将所述至少一个异常进程与预设的CPU资源进行绑定;
由所述cgroup组件为所述至少一个异常进程分配所述预设的CPU资源。
5.根据权利要求4所述的方法,其特征在于,在获取任一异常进程的CPU使用率和内存使用量之后,所述方法还包括:
若所述任一异常进程的CPU使用率大于第三预设阈值,或者,所述预设的CPU资源已满,停止向所述任一异常进程分配CPU资源,其中,所述第三预设阈值小于所述第一预设阈值;
或者;
若所述任一异常进程的内存使用量大于第四预设阈值,停止向所述任一异常进程分配内存资源,其中,所述第四预设阈值小于所述第二预设阈值。
6.根据权利要求1-5中任一项所述的方法,其特征在于,根据预设白名单对所述至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程,包括:
根据所述预设白名单对所述至少一个正常进程中每个正常进程进行匹配,其中,所述预设白名单包括系统中的关键进程;
筛选出所有匹配失败的正常进程,并确定为异常进程。
7.一种资源管理装置,其特征在于,所述装置包括:
获取模块,用于获取多个正常进程的资源使用状态;
筛选模块,用于若确定所述多个正常进程中至少一个正常进程的资源使用状态为异常,根据预设白名单对所述至少一个正常进程进行筛选,并将筛选出的正常进程确定为异常进程;
分配模块,用于若筛选出至少一个异常进程,由cgroup组件为所述至少一个异常进程重新分配预设的资源。
8.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111501393.0A CN114116230A (zh) | 2021-12-09 | 2021-12-09 | 一种资源管理方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111501393.0A CN114116230A (zh) | 2021-12-09 | 2021-12-09 | 一种资源管理方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116230A true CN114116230A (zh) | 2022-03-01 |
Family
ID=80363810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111501393.0A Pending CN114116230A (zh) | 2021-12-09 | 2021-12-09 | 一种资源管理方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116230A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115220993A (zh) * | 2022-04-20 | 2022-10-21 | 广州汽车集团股份有限公司 | 进程监控方法、装置、车辆及存储介质 |
-
2021
- 2021-12-09 CN CN202111501393.0A patent/CN114116230A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115220993A (zh) * | 2022-04-20 | 2022-10-21 | 广州汽车集团股份有限公司 | 进程监控方法、装置、车辆及存储介质 |
CN115220993B (zh) * | 2022-04-20 | 2024-03-12 | 广州汽车集团股份有限公司 | 进程监控方法、装置、车辆及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941481A (zh) | 资源调度方法、装置及系统 | |
CN109936604B (zh) | 一种资源调度方法、装置和系统 | |
CN108845884B (zh) | 物理资源分配方法、装置、计算机设备和存储介质 | |
CN108334396B (zh) | 一种数据处理方法和装置、资源组的创建方法和装置 | |
US20170017511A1 (en) | Method for memory management in virtual machines, and corresponding system and computer program product | |
US20080295095A1 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US20100268983A1 (en) | Computer System and Method of Control thereof | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN111209110B (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN111061570B (zh) | 一种图像计算请求处理方法、装置及终端设备 | |
CN111638953B (zh) | 一种实现gpu虚拟化的方法、装置和存储介质 | |
CN107168777B (zh) | 分布式系统中资源的调度方法以及装置 | |
CN111694658A (zh) | Cpu资源分配方法、装置、电子设备和存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN105874426A (zh) | 一种系统调用命令的批处理方法及装置 | |
CN111538585B (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
CN108028806B (zh) | 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置 | |
CN114116230A (zh) | 一种资源管理方法、装置、设备、介质及产品 | |
CN110955516A (zh) | 批量任务处理方法、装置、计算机设备和存储介质 | |
CN113515376A (zh) | 一种内存管理方法、装置、电子设备及存储介质 | |
CN111949384B (zh) | 任务调度方法、装置、设备及计算机可读存储介质 | |
CN112527490A (zh) | 节点资源管控方法、装置、电子设备及存储介质 | |
CN115617515A (zh) | 智能物联网操作系统的内存分配方法、装置和存储介质 | |
CN111491040B (zh) | 一种ip分配方法以及ip分配装置 | |
CN111352710B (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 |