CN110377418B - 用于单台服务器的cpu多核使用率优化处理方法及装置 - Google Patents
用于单台服务器的cpu多核使用率优化处理方法及装置 Download PDFInfo
- Publication number
- CN110377418B CN110377418B CN201910495873.7A CN201910495873A CN110377418B CN 110377418 B CN110377418 B CN 110377418B CN 201910495873 A CN201910495873 A CN 201910495873A CN 110377418 B CN110377418 B CN 110377418B
- Authority
- CN
- China
- Prior art keywords
- cpu
- core
- value
- utilization rate
- alarm
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- 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
- G06F9/5044—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 considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种用于单台服务器的CPU多核使用率优化处理方法及装置。该方法包括在预设时间间隔内,采集每个CPU核使用率;根据所述CPU核使用率,计算CPU多核使用率极差值;根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值;根据所述预告警累计值,判断是否进行告警。本申请解决了如何在发现使用率不均的同时知道在某个时间节点CPU核出现了使用率不均的状况的技术问题。通过本申请实现服务器CPU多核之间利用率合理并最大化,降低综合使用成本。
Description
技术领域
本申请涉及服务器优化领域,具体而言,涉及一种用于单台服务器的CPU多核使用率优化处理方法及装置。
背景技术
单台服务器上具有多核CPU、CPU核从1至32核不等或更多。
发明人发现,由于缺乏对服务器环境了解,程序启动时开启的进程数或者线程数,远低于单服务器上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多核极差标准值时,则增加第二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多核使用率优化处理方法流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
由于现有技术中年当程序只启动一个进程时,任何时刻这个进程只能在某一个CPU核上运行,那剩余的CPU核基本就空闲;特别是在程序运行高峰期时,单进程对应的CPU使用率非常的高,数据处理延时,而其它没有使用到的CPU核又非常的空闲,最终服务器综合利用率不高;对于这种情况,本申请通过CPU多核之间使用率极差值的设定判断就能高效、简洁的发现CPU多核使用率不均的情况,并且能知道在某个时间节点具体是多少个CPU核出现了使用率不均的状况,并把结果及时通知到后台人员进行及时跟进优化,以达到服务器CPU多核之间利用率合理并最大化,降低综合使用成本。
如图1所示,该方法包括如下的步骤S102至步骤S108:
步骤S102,在预设时间间隔内,采集每个CPU核使用率;
在预设的时间间隔内进行数据采集,采集得到每个所述CPU的CPU核使用率。
具体地,通过选择一个时间节点,并且以分钟为颗粒间隔度,连续采集多个时间节点每一个CPU核使用率情况。
步骤S104,根据所述CPU核使用率,计算CPU多核使用率极差值;
根据所述CPU核使用率计算出所述CPU多核使用率极差值。经过长期的服务器实时研究核观察发现,通过CPU多核之间使用率极差值的设定判断就能高效、简洁的发现CPU多核使用率不均的情况。
具体地,在CPU核之间进行两两相减计算并绝对值,得到CPU多核使用率极差绝对值。
步骤S106,根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值;
根据所述CPU多核使用率极差值与预设阈值进行比较,当大于所述预设阈值时说明当前CPU核和与CPU核在使用率上出现了较大的差异,并增加CPU预告警累计值。优选地,得到的所述预告警累计值中还携带有CPU多核使用不均情况,从而可以确定是哪个时间段的哪些CPU出现的使用不均的问题。
得到携带有CPU多核使用不均情况的预告警累计值中,CPU多核使用不均情况至少包括:在预设时间节点内,CPU出现的使用不均的次数。特别地,当预告警累计值为零时,不进行告警。
需要注意的是,所述预告警累计值的初始值为0,本领域技术人员可以在计算时进行配置。
通过CPU多核之间使用率极差值的设定判断就能高效、简洁的发现CPU多核使用率不均的情况,并且能知道在某个时间节点具体是多少个CPU核出现了使用率不均的状况。
步骤S108,根据所述预告警累计值,判断是否进行告警。
根据所述预告警累计值判断是否不小于标准告警阈值,如果是,则判断需要进行告警。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用在预设时间间隔内,采集每个CPU核使用率的方式,通过根据所述CPU核使用率,计算CPU多核使用率极差值,达到了根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值的目的,从而实现了根据所述预告警累计值,判断是否进行告警的技术效果,进而解决了如何在发现使用率不均的同时知道在某个时间节点CPU核出现了使用率不均的状况的技术问题。
根据本申请实施例,作为本实施例中的优选,如图2所示,根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值包括:
步骤S202,确定所述CPU多核极差标准值;
步骤S204,根据所述采集每个CPU核使用率计算对应CPU极差绝对值得到第一CPU多核数组;
步骤S206,在所述第一CPU多核数组中判断所述CPU极差绝对值是否大于所述CPU多核极差标准值;
步骤S208,如果大于,则增加第二CPU多核数组的数值。
具体地,每一个时间节点采集到CPU核使用率后就开始做CPU多核极差值及预警告警值计算。
首先需要设置如下数值:
整数Max=自定义,CPU多核之间极差标准值,所述Max=数值本领域技术人员可以根据实际情况设定;
整形数组a[*]=0,*数值为CPU核数-1,如8核CPU,*值=8-1=7;a[0]=0;a[1]=0;...;a[7]=0;重复计算的过程中置零。即第一CPU多核数组。
整形数组b[*]=0,*数值为CPU核数-2,如8核CPU,*值=8-2=6;b[0]=0;b[1]=0;...;b[6]=0;重复计算的过程中置零。即第二CPU多核数组。
预警告警值:y[*]=0,*数值为t时间节点数值大小,6个时间节点,*值=5;y[0]=0;...;y[5]=0;
整数值z=0,作为预告警累计值:
整数值N=3,其中,0<=A<=6A值连续时间节点整数值,作为标准告警值。
每一个时间节点采集到CPU核使用率时,具体地选择一个时间节点t,并且以5分钟为颗粒间隔度,连续采集6个时间节点(t0、t1、t2、t3、t4、t5)每一个CPU核使用率情况,如下表1:
表1
t0时间 | CPU使用率 | t1时间点 | CPU使用率 | t5时间 | CPU使用率 | t5时间 | CPU使用率 | ||
t0-CPU0 | t0_x0=90% | t1-CPU0 | t1-x0=80% | .. | .. | t5-CPU0 | t5-x0=60% | t5-CPU0 | t5-x0=60% |
t0-CPU1 | t0-x1=85% | t1-CPU1 | t1-x1=75% | .. | .. | t5-CPU1 | t5-x1=0% | t5-CPU1 | t5-x1=0% |
t0-CPU2 | t0-x2=60% | t1-CPU2 | t1-x2=50% | .. | .. | t5-CPU2 | t5-x2=0% | t5-CPU2 | t5-x2=0% |
t0-CPU3 | t0-x3=59% | t1-CPU3 | t1-x3=45% | .. | .. | t5-CPU3 | t5-x3=0% | t5-CPU3 | t5-x3=0% |
t0-CPU4 | t0-x4=61% | t1-CPU4 | t1-x4=48% | .. | .. | t5-CPU4 | t5-x4=0% | t5-CPU4 | t5-x4=0% |
t0-CPU5 | t0-x5=63% | t1-CPU5 | t1-x5=47% | .. | .. | t5-CPU5 | t5-x5=0% | t5-CPU5 | t5-x5=0% |
t0-CPU6 | t0-x6=58% | t1-CPU6 | t1-x6=51% | .. | .. | t5-CPU6 | t5-x6=0% | t5-CPU6 | t5-x6=0% |
t0-CPU7 | t0-x7=57% | t1-CPU7 | t1-x7=49% | .. | .. | t5-CPU7 | t5-x7=0% | t5-CPU7 | t5-x7=0% |
在上述t0时间节点采集到的CPU多核使用率情况如下表2所示,其中00:00,以分钟为单位
表2
t0时间 | CPU0 | CPU1 | CPU2 | CPU3 | CPU4 | CPU5 | CPU6 | CPU7 |
CPU使用率 | 90% | 85% | 60% | 59% | 61% | 63% | 58% | 57% |
具体地,在t0时间节点,选出第1个CPU核[CPU0]做为减数和其它CPU核(被减数)之间进行相减并取绝对值后乘以100,得到一组数值存放到a[*]数组中,比如a[0]=|CPU0-CPU1|*100=5,a[1]=|CPU0-CPU2|*100=30。
接着,将这组数值a[*]中每一个依次和Max=20进行对比,大于Max=20时,b[0]值自增加1(b[0]=b[0]+1=1)。
此时说明此CPU核和其它CPU核在使用率上出现了较大的差异,使用不均。然后对a[*]中的数值都置0进行重复计算,a[0]=1;a[1]=0;...;a[7]=0。
同理,接着轮回选出第2个CPU核[CPU1](做为减数)和其它CPU核(被减数)之间进行相减并取绝对值后乘以100,得到一组数值存放到a[*]数组中。
需要注意的是,当上述所有组中出现过|CPU[n]-CPU[m]|时,此组中的|CPU[m]-CPU[n]|不再计算并做舍弃,比如,上一组中已计算过|CPU0-CPU1|,此时本组中|CPU1-CPU0|不再计算,做舍弃处理。
经过相减a[*]数组得到如下数据:
a[0]=|CPU1-CPU2|*100=25,a[1]=|CPU1-CPU3|*100=26,...;
接着将这组数值a[*]中每一个依次和Max=20进行对比,大于Max=20时,b[1]值自增加1(b[1]=b[1]+1=1)。此时说明此CPU核和其它CPU核在使用率上出现了较大的差异使用不均;然后对a[*]中的数值都置0进行重复计算,a[0]=1;a[1]=0;...;a[7]=0。
根据本申请实施例,作为本实施例中的优选,如图3所示,根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值,还包括:
步骤S302,根据所述第二CPU多核数组的数值结果,计算预警告警值;
步骤S304,如果在所述第二CPU多核数组中有大于零的数值,则增加所述预警告警值的数值。
具体地,选出第1个CPU核[CPU0]做为减数和其它CPU核(被减数)之间进行相减并取绝对值后乘以100,得到一组数值存放到a[*]数组中,比如a[0]=|CPU0-CPU1|*100=5,a[1]=|CPU0-CPU2|*100=30。接着,将这组数值a[*]中每一个依次和Max=20进行对比,大于Max=20时,b[0]值自增加1(b[0]=b[0]+1=1)。
进一步,在得到b[*]组数值后,进行预警告警值y[*]值的计算,由于t0时所有此时预警告警值y[*]对应的是y[0];当b[*]中的值只要大于0时,说明第*个CPU核和其他CPU核出现了使用率不均的现象,此时y[0]=y[0]+1;如上面b[0]=6;b[1]=6;这两个数值大于0,得到y[0]=2,说明t0时刻在此服务器上出现了两个CPU核使用不均的现象;算完预警告警值y[0]值后,对b[*]数组置0,b[0]=0;b[1]=0;...;b[6]=0。
根据本申请实施例,作为本实施例中的优选,如图4所示,根据所述预告警累计值,判断是否进行告警包括:
步骤S402,如果预告警累计值不小于标准告警值时,则通过分析所述CPU多核使用不均情况进行告警。
不断轮回,直到所有的CPU核都作为减数为止。
表3
在t0-t5时间节点,通过上述方法,会得出y[0]~y[5]6个整数值;遍历预警告警值y数组中数,当预警告警值y[*]数值>0时,预告警累计值z数值+1。
根据本申请实施例,作为本实施例中的优选,如图5所示,根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值包括:
步骤S502,根据所述CPU多核使用率极差值,得到携带有预设时间点和对应使用不均的CPU个数的CPU多核使用不均情况的预告警累计值。
具体地,通过对比预告警累计值z值和标准告警值N值,当z大于等于A时即Z>=A,说明在一段时间内都出现了CPU多核使用不均的情况,此时以如下结论的方式告警出来:
具体地,在t0时间节点,有2个(y[0]=2)CPU核出现了使用不均;在t1时间节点,有3个(y[1]=3)CPU核出现了使用率不均;...;y[*]=0说明没出现极差,不用告警。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述方法的用于单台服务器的CPU多核使用率优化处理装置,如图6所示,该装置包括:采集模块10,用于在预设时间间隔内,采集每个CPU核使用率;第一计算模块20,用于计算CPU多核使用率极差值;第二计算模块30,用于根据所述CPU多核使用率极差值,得到携带有CPU多核使用不均情况的预告警累计值;判断模块40,用于根据所述预告警累计值,判断是否进行告警。
本申请实施例的采集模块10中在预设的时间间隔内进行数据采集,采集得到每个所述CPU的CPU核使用率。
具体地,通过选择一个时间节点,并且以分钟为颗粒间隔度,连续采集多个时间节点每一个CPU核使用率情况。
本申请实施例的第一计算模块20中根据所述CPU核使用率计算出所述CPU多核使用率极差值。经过长期的服务器实时研究核观察发现,通过CPU多核之间使用率极差值的设定判断就能高效、简洁的发现CPU多核使用率不均的情况。
具体地,在CPU核之间进行两两相减计算并绝对值,得到CPU多核使用率极差绝对值。
本申请实施例的第二计算模块30中根据所述CPU多核使用率极差值与预设阈值进行比较,当大于所述预设阈值时说明当前CPU核和与CPU核在使用率上出现了较大的差异,并增加CPU预告警累计值。优选地,得到的所述预告警累计值中还携带有CPU多核使用不均情况,从而可以确定是哪个时间段的哪些CPU出现的使用不均的问题。
得到携带有CPU多核使用不均情况的预告警累计值中,CPU多核使用不均情况至少包括:在预设时间节点内,CPU出现的使用不均的次数。特别地,当预告警累计值为零时,不进行告警。
需要注意的是,所述预告警累计值的初始值为0,本领域技术人员可以在计算时进行配置。
通过CPU多核之间使用率极差值的设定判断就能高效、简洁的发现CPU多核使用率不均的情况,并且能知道在某个时间节点具体是多少个CPU核出现了使用率不均的状况。
本申请实施例的判断模块40中根据所述预告警累计值判断是否不小于标准告警阈值,如果是,则判断需要进行告警。
根据本申请实施例,作为本实施例中的优选,如图7所示,所述第二计算模块包括:确定单元301,用于确定所述CPU多核极差标准值;第一计算单元302,用于根据所述采集每个CPU核使用率计算对应CPU极差绝对值得到第一CPU多核数组;判断单元303,用于在所述第一CPU多核数组中判断所述CPU极差绝对值是否大于所述CPU多核极差标准值;第一增加单元304,用于在所述CPU极差绝对值大于所述CPU多核极差标准值时,则增加第二CPU多核数组的数值。
本申请的实施例中具体地,每一个时间节点采集到CPU核使用率后就开始做CPU多核极差值及预警告警值计算。
首先需要设置如下数值:
整数Max=自定义,CPU多核之间极差标准值,所述Max=数值本领域技术人员可以根据实际情况设定;
整形数组a[*]=0,*数值为CPU核数-1,如8核CPU,*值=8-1=7;a[0]=0;a[1]=0;...;a[7]=0;重复计算的过程中置零。即第一CPU多核数组。
整形数组b[*]=0,*数值为CPU核数-2,如8核CPU,*值=8-2=6;b[0]=0;b[1]=0;...;b[6]=0;重复计算的过程中置零。即第二CPU多核数组。
预警告警值:y[*]=0,*数值为t时间节点数值大小,6个时间节点,*值=5;y[0]=0;...;y[5]=0;
整数值z=0,作为预告警累计值:
整数值N=3,其中,0<=A<=6A值连续时间节点整数值,作为标准告警值。
每一个时间节点采集到CPU核使用率时,具体地选择一个时间节点t,并且以5分钟为颗粒间隔度,连续采集6个时间节点(t0、t1、t2、t3、t4、t5)每一个CPU核使用率情况,如下表1:
表1
t0时间 | CPU使用率 | t1时间点 | CPU使用率 | t5时间 | CPU使用率 | t5时间 | CPU使用率 | ||
t0-CPU0 | t0_x0=90% | t1-CPU0 | t1-x0=80% | .. | .. | t5-CPU0 | t5-x0=60% | t5-CPU0 | t5-x0=60% |
t0-CPU1 | t0-x1=85% | t1-CPU1 | t1-x1=75% | .. | .. | t5-CPU1 | t5-x1=0% | t5-CPU1 | t5-x1=0% |
t0-CPU2 | t0-x2=60% | t1-CPU2 | t1-x2=50% | .. | .. | t5-CPU2 | t5-x2=0% | t5-CPU2 | t5-x2=0% |
t0-CPU3 | t0-x3=59% | t1-CPU3 | t1-x3=45% | .. | .. | t5-CPU3 | t5-x3=0% | t5-CPU3 | t5-x3=0% |
t0-CPU4 | t0-x4=61% | t1-CPU4 | t1-x4=48% | .. | .. | t5-CPU4 | t5-x4=0% | t5-CPU4 | t5-x4=0% |
t0-CPU5 | t0-x5=63% | t1-CPU5 | t1-x5=47% | .. | .. | t5-CPU5 | t5-x5=0% | t5-CPU5 | t5-x5=0% |
t0-CPU6 | t0-x6=58% | t1-CPU6 | t1-x6=51% | .. | .. | t5-CPU6 | t5-x6=0% | t5-CPU6 | t5-x6=0% |
t0-CPU7 | t0-x7=57% | t1-CPU7 | t1-x7=49% | .. | .. | t5-CPU7 | t5-x7=0% | t5-CPU7 | t5-x7=0% |
在上述t0时间节点采集到的CPU多核使用率情况如下表2所示,其中00:00,以分钟为单位
表2
t0时间 | CPU0 | CPU1 | CPU2 | CPU3 | CPU4 | CPU5 | CPU6 | CPU7 |
CPU使用率 | 90% | 85% | 60% | 59% | 61% | 63% | 58% | 57% |
具体地,在t0时间节点,选出第1个CPU核[CPU0]做为减数和其它CPU核(被减数)之间进行相减并取绝对值后乘以100,得到一组数值存放到a[*]数组中,比如a[0]=|CPU0-CPU1|*100=5,a[1]=|CPU0-CPU2|*100=30。
接着,将这组数值a[*]中每一个依次和Max=20进行对比,大于Max=20时,b[0]值自增加1(b[0]=b[0]+1=1)。
此时说明此CPU核和其它CPU核在使用率上出现了较大的差异,使用不均。然后对a[*]中的数值都置0进行重复计算,a[0]=1;a[1]=0;...;a[7]=0。
同理,接着轮回选出第2个CPU核[CPU1](做为减数)和其它CPU核(被减数)之间进行相减并取绝对值后乘以100,得到一组数值存放到a[*]数组中。
需要注意的是,当上述所有组中出现过|CPU[n]-CPU[m]|时,此组中的|CPU[m]-CPU[n]|不再计算并做舍弃,比如,上一组中已计算过|CPU0-CPU1|,此时本组中|CPU1-CPU0|不再计算,做舍弃处理。
经过相减a[*]数组得到如下数据:
a[0]=|CPU1-CPU2|*100=25,a[1]=|CPU1-CPU3|*100=26,...;
接着将这组数值a[*]中每一个依次和Max=20进行对比,大于Max=20时,b[1]值自增加1(b[1]=b[1]+1=1)。此时说明此CPU核和其它CPU核在使用率上出现了较大的差异使用不均;然后对a[*]中的数值都置0进行重复计算,a[0]=1;a[1]=0;...;a[7]=0。
根据本申请实施例,作为本实施例中的优选,如图8所示,所述第二计算模块还包括:第三计算单元305,用于根据所述第二CPU多核数组的数值结果,计算预警告警值;第二增加单元306,用于如果在所述第二CPU多核数组中有大于零的数值,则增加所述预警告警值的数值。
本申请的实施例中具体地,选出第1个CPU核[CPU0]做为减数和其它CPU核(被减数)之间进行相减并取绝对值后乘以100,得到一组数值存放到a[*]数组中,比如a[0]=|CPU0-CPU1|*100=5,a[1]=|CPU0-CPU2|*100=30。接着,将这组数值a[*]中每一个依次和Max=20进行对比,大于Max=20时,b[0]值自增加1(b[0]=b[0]+1=1)。
进一步,在得到b[*]组数值后,进行预警告警值y[*]值的计算,由于t0时所有此时预警告警值y[*]对应的是y[0];当b[*]中的值只要大于0时,说明第*个CPU核和其他CPU核出现了使用率不均的现象,此时y[0]=y[0]+1;如上面b[0]=6;b[1]=6;这两个数值大于0,得到y[0]=2,说明t0时刻在此服务器上出现了两个CPU核使用不均的现象;算完预警告警值y[0]值后,对b[*]数组置0,b[0]=0;b[1]=0;...;b[6]=0。
根据本申请实施例,作为本实施例中的优选,所述判断模块40还用于,如果预告警累计值不小于标准告警值时,则通过分析所述CPU多核使用不均情况进行告警。
本申请实施例中不断轮回,直到所有的CPU核都作为减数为止。
表3
CPU多核差 | CPU极差绝对值 | CPU多核差 | CPU极差绝对值 | CPU多核差 | CPU极差绝对值 | CPU多核差 | CPU极差绝对值 |
CPU0-CPU1 | |90%-85%|*100=5 | ||||||
CPU0-CPU2 | |90%-60%|*100=30 | CPU1-CPU2 | |85%-60%|*100=25 | ||||
CPU0-CPU3 | |90%-59%|*100=31 | CPU1-CPU3 | |85%-59%|*100=26 | CPU2-CPU3 | |60%-59%|*100=1 | ||
CPU0-CPU4 | |90%-61%|*100=29 | CPU1-CPU4 | |85%-61%|*100=24 | CPU2-CPU4 | |60%-61%|*100=1 | CPU3-CPU4 | |59%-61%|*100=1 |
CPU0-CPU5 | |90%-63%|*100=27 | CPU1-CPU5 | |85%-63%|*100=22 | CPU2-CPU5 | |60%-63%|*100=3 | CPU3-CPU5 | |59%-63%|*100=3 |
CPU0-CPU6 | |90%-58%|*100=32 | CPU1-CPU6 | |85%-58%|*100=27 | CPU2-CPU6 | |60%-58%|*100=2 | CPU3-CPU6 | |59%-58%|*100=2 |
CPU0-CPU7 | |90%-57%|*100=33 | CPU1-CPU7 | |85%-57%|*100=28 | CPU2-CPU7 | |60%-57%|*100=3 | CPU3-CPU7 | |59%-57%|*100=3 |
b数组值 | b[0]=6 | b数组值 | b[1]=6 | b数组值 | b[2]=0 | b数组值 | b[3]=0 |
CPU多核差 | CPU极差绝对值 | CPU多核差 | CPU极差绝对值 | CPU多核差 | CPU极差绝对值 | ||
CPU4-CPU5 | |61%-63%|*100=3 | ||||||
CPU4-CPU6 | |61%-58%|*100=3 | CPU5-CPU6 | |63%-58%|*100=5 | ||||
CPU4-CPU7 | |61%-57%|*100=4 | CPU5-CPU7 | |63%-57%|*100=6 | CPU6-CPU7 | |58%-57%|*100=1 | ||
b数组值 | b[4]=0 | b数组值 | b[5]=0 | b数组值 | b[6]=0 |
在t0-t5时间节点,通过上述方法,会得出y[0]~y[5]6个整数值;遍历预警告警值y数组中数,当预警告警值y[*]数值>0时,预告警累计值z数值+1。
根据本申请实施例,作为本实施例中的优选,所述第二计算模块30还用于,根据所述CPU多核使用率极差值,得到携带有预设时间点和对应使用不均的CPU个数的CPU多核使用不均情况的预告警累计值。
本申请实施例中具体地,通过对比预告警累计值z值和标准告警值N值,当z大于等于A时即Z>=A,说明在一段时间内都出现了CPU多核使用不均的情况,此时以如下结论的方式告警出来:
具体地,在t0时间节点,有2个(y[0]=2)CPU核出现了使用不均;在t1时间节点,有3个(y[1]=3)CPU核出现了使用率不均;...;y[*]=0说明没出现极差,不用告警。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (4)
1.一种用于单台服务器的CPU多核使用率优化处理方法,其特征在于,包括:
在预设时间间隔内,以分钟为间隔度采集每个CPU核使用率;
根据所述CPU核使用率,计算两两CPU多核使用率差值;
根据所述两两CPU多核使用率差值,得到携带有CPU多核使用不均情况的预告警累计值,具体包括:
根据所述CPU多核使用率差值,得到携带有预设时间点和对应使用不均的CPU个数的CPU多核使用不均情况的预告警累计值;
根据所述预告警累计值,判断是否进行告警;
根据所述CPU多核使用率差值,得到携带有CPU多核使用不均情况的预告警累计值包括:
确定所述CPU多核差标准值;
根据所述采集每个CPU核使用率计算对应CPU差绝对值得到第一CPU多核数组;
在所述第一CPU多核数组中判断所述CPU差绝对值是否大于所述CPU多核差标准值;
如果大于,则增加第二CPU多核数组的数值;
根据所述CPU多核使用率差值,得到携带有CPU多核使用不均情况的预告警累计值,还包括:
根据所述第二CPU多核数组的数值结果,计算预警告警值;
如果在所述第二CPU多核数组中有大于零的数值,则增加所述预警告警值的数值。
2.根据权利要求1所述的CPU多核使用率优化处理方法,其特征在于,根据所述预告警累计值,判断是否进行告警包括:
如果预告警累计值不小于标准告警值时,则通过分析所述CPU多核使用不均情况进行告警。
3.一种用于单台服务器的CPU多核使用率优化处理装置,其特征在于,包括:
采集模块,用于在预设时间间隔内,以分钟为间隔度采集每个CPU核使用率;
第一计算模块,用于计算两两CPU多核使用率差值;
第二计算模块,用于根据所述两两CPU多核使用率差值,得到携带有CPU多核使用不均情况的预告警累计值,具体包括:
根据所述CPU多核使用率差值,得到携带有预设时间点和对应使用不均的CPU个数的CPU多核使用不均情况的预告警累计值;
判断模块,用于根据所述预告警累计值,判断是否进行告警;
所述第二计算模块包括:
确定单元,用于确定所述CPU多核差标准值;
第一计算单元,用于根据所述采集每个CPU核使用率计算对应CPU差绝对值得到第一CPU多核数组;
判断单元,用于在所述第一CPU多核数组中判断所述CPU差绝对值是否大于所述CPU多核差标准值;
第一增加单元,用于在所述CPU差绝对值大于所述CPU多核差标准值时,则增加第二CPU多核数组的数值;
所述第二计算模块还包括:
第三计算单元,用于根据所述第二CPU多核数组的数值结果,计算预警告警值;
第二增加单元,用于如果在所述第二CPU多核数组中有大于零的数值,则增加所述预警告警值的数值。
4.根据权利要求3所述的CPU多核使用率优化处理装置,其特征在于,所述判断模块还用于,
如果预告警累计值不小于标准告警值时,则通过分析所述CPU多核使用不均情况进行告警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495873.7A CN110377418B (zh) | 2019-06-05 | 2019-06-05 | 用于单台服务器的cpu多核使用率优化处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495873.7A CN110377418B (zh) | 2019-06-05 | 2019-06-05 | 用于单台服务器的cpu多核使用率优化处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377418A CN110377418A (zh) | 2019-10-25 |
CN110377418B true CN110377418B (zh) | 2021-09-03 |
Family
ID=68249922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910495873.7A Active CN110377418B (zh) | 2019-06-05 | 2019-06-05 | 用于单台服务器的cpu多核使用率优化处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377418B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176966A (zh) * | 2019-12-26 | 2020-05-19 | 京信通信系统(中国)有限公司 | 确定cpu利用率的方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及系统 |
CN102185779A (zh) * | 2011-05-11 | 2011-09-14 | 田文洪 | 与综合配置能力成比例的数据中心资源负载均衡的方法及装置 |
CN102646059A (zh) * | 2011-12-01 | 2012-08-22 | 中兴通讯股份有限公司 | 多核处理器系统的负载平衡处理方法及装置 |
CN102866921A (zh) * | 2012-08-29 | 2013-01-09 | 惠州Tcl移动通信有限公司 | 一种多核cpu的调控方法及系统 |
CN105528330A (zh) * | 2014-09-30 | 2016-04-27 | 杭州华为数字技术有限公司 | 负载均衡的方法、装置、丛集和众核处理器 |
CN106534345A (zh) * | 2016-12-07 | 2017-03-22 | 东软集团股份有限公司 | 一种报文转发方法及装置 |
CN106572170A (zh) * | 2016-10-28 | 2017-04-19 | 中国电子科技集团公司第五十四研究所 | 一种控制器及sdn分层多控制器下的动态负载均衡方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101694302B1 (ko) * | 2013-03-11 | 2017-01-23 | 한국전자통신연구원 | 이기종 멀티코어 프로세서 시스템의 관리 장치 및 방법 |
-
2019
- 2019-06-05 CN CN201910495873.7A patent/CN110377418B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及系统 |
CN102185779A (zh) * | 2011-05-11 | 2011-09-14 | 田文洪 | 与综合配置能力成比例的数据中心资源负载均衡的方法及装置 |
CN102646059A (zh) * | 2011-12-01 | 2012-08-22 | 中兴通讯股份有限公司 | 多核处理器系统的负载平衡处理方法及装置 |
CN102866921A (zh) * | 2012-08-29 | 2013-01-09 | 惠州Tcl移动通信有限公司 | 一种多核cpu的调控方法及系统 |
CN105528330A (zh) * | 2014-09-30 | 2016-04-27 | 杭州华为数字技术有限公司 | 负载均衡的方法、装置、丛集和众核处理器 |
CN106572170A (zh) * | 2016-10-28 | 2017-04-19 | 中国电子科技集团公司第五十四研究所 | 一种控制器及sdn分层多控制器下的动态负载均衡方法 |
CN106534345A (zh) * | 2016-12-07 | 2017-03-22 | 东软集团股份有限公司 | 一种报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110377418A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109039833B (zh) | 一种监控带宽状态的方法和装置 | |
CN108270618A (zh) | 告警判定的方法、装置及告警系统 | |
CN107562512B (zh) | 一种迁移虚拟机的方法、装置及系统 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
CN112684400B (zh) | 小电量台区的电能表运行误差数据监测方法及系统 | |
CN107423141B (zh) | 信息处理方法及装置 | |
CN112463543B (zh) | 业务数据的监控方法、规则数据生成方法、装置及系统 | |
US9244711B1 (en) | Virtual machine capacity planning | |
CN106528318B (zh) | 线程死循环检测方法和装置 | |
CN111198808A (zh) | 预测性能指标的方法、装置、存储介质及电子设备 | |
CN113805138B (zh) | 一种基于参数有向遍历的智能电表误差估计方法及装置 | |
CN109446017A (zh) | 一种告警算法生成方法、监控系统及终端设备 | |
CN110377418B (zh) | 用于单台服务器的cpu多核使用率优化处理方法及装置 | |
CN105979532A (zh) | 一种业务处理系统的性能容量分析预警方法及装置 | |
CN107844406A (zh) | 分布式系统的异常检测方法及系统、服务终端、存储器 | |
CN115344207A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109525036B (zh) | 一种通信设备的市电供应状态的监控方法、装置和系统 | |
CN108153584A (zh) | 一种用于确定目标网络设备需分配的线程数的方法与设备 | |
CN105357026A (zh) | 一种资源信息收集方法和计算节点 | |
CN110321266B (zh) | 用于单台服务器的cpu多核使用率优化处理方法及装置 | |
CN109462510B (zh) | 一种cdn节点质量评估的方法及装置 | |
CN109408225B (zh) | 资源扩容方法、装置、计算机设备以及存储介质 | |
CN107797924B (zh) | 一种sql脚本的异常检测方法及其终端 | |
CN109857547A (zh) | 一种线程分配方法、装置及终端设备 | |
US11736562B1 (en) | Method and system for achieving high availability of service under high-load scene in distributed system |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 200135 Room 308, floor 3, unit 2, No. 231, Expo Village Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Wheel interconnection technology (Shanghai) Co.,Ltd. Address before: 200125 Room 501, 5 / F, building 3, 3601 Dongfang Road, Pudong New Area, Shanghai Patentee before: SHANGHAI YIDIAN SPACE NETWORK Co.,Ltd. |