CN106897203A - 一种cpu负载率计算方法及装置 - Google Patents
一种cpu负载率计算方法及装置 Download PDFInfo
- Publication number
- CN106897203A CN106897203A CN201710196842.2A CN201710196842A CN106897203A CN 106897203 A CN106897203 A CN 106897203A CN 201710196842 A CN201710196842 A CN 201710196842A CN 106897203 A CN106897203 A CN 106897203A
- Authority
- CN
- China
- Prior art keywords
- time
- idle task
- state
- duration
- task
- 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
- 238000000205 computational method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012360 testing method Methods 0.000 claims description 87
- 230000003068 static effect Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000000528 statistical test Methods 0.000 abstract description 15
- 238000012805 post-processing Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种CPU负载率计算方法及装置,该方法包括:根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;开启第一接口函数线程,并根据预设标识的状态和嵌入式实时操作系统的第一当前系统时间确定空闲任务的启动时间;开启空闲任务运行线程,并根据预设标识的状态和嵌入式实时操作系统的第二当前系统时间确定空闲任务的结束时间;进而根据空闲任务的启动时间和结束时间计算CPU负载率。由于空闲任务在嵌入式实时操作系统中的优先级最低,因此,避免了统计测试时段内任务激活、结束、抢占的时间以及中断预处理、后处理的时长,从而提高了CPU负载率的计算准确度。
Description
技术领域
本发明涉及嵌入式实时操作系统技术领域,更具体地说,涉及一种CPU负载率计算方法及装置。
背景技术
在ECU(Electronic Control Unit,电子控制器)的设计和开发过程中,为确保程序的可靠运行,需要实时计算CPU(Central Processing Unit,中央处理器)的负载率。
目前检测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负载率计算装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一公开了一种CPU负载率计算方法,应用于CPU负载率计算装置,方法流程图如图1所示,该CPU负载率计算方法包括如下步骤:
S101,当接收到携带有测试时段的测试通知时,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;
在执行步骤S101的过程中,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,状态包括有效状态以及无效状态,无效状态用于表征系统时间未到达测试时段内的测试终止时间;
需要说明的是,由于在嵌入式实时操作系统中空闲任务的优先级最低,系统默认启动且不可删除,因此,在嵌入式实时操作系统中如果没有静态配置的任务处于就绪状态或中断发生时,空闲任务就会投入运行,因此可通过统计测试时段内空闲任务运行时间来计算CPU负载率。
S102,开启第一接口函数线程,并根据嵌入式实时操作系统的第一当前系统时间判断预设标识的状态是否为无效状态,所述无效状态用于表征第一当前系统时间未到达测试时段内的测试终止时间;当判断预设标识的状态为无效状态时,执行步骤S103;
S103,当第一当前系统时间在测试时段内时,将第一当前系统时间确定为空闲任务的启动时间;
在执行步骤S103的过程中,可为当前空闲任务启动时间分配唯一的存储区域进行存储。
S104,开启空闲任务运行线程,并在运行空闲任务过程中根据嵌入式实时操作系统的第二当前系统时间判断预设标识的状态是否为第一有效状态,所述第一有效状态用于表征第二当前系统时间等于测试终止时间;当判断预设标识的状态为第一有效状态时,执行步骤S105;
S105,将第二当前系统时间确定为空闲任务的结束时间,并根据空闲任务的启动时间和空闲任务的结束时间计算空闲任务的运行时长;
在执行步骤S105的过程中,可为计算得到的空闲任务的运行时长分配唯一的存储区域进行存储。
S106,根据空闲任务的运行时长和测试时段的时长计算CPU负载率;
在执行步骤S106的过程中,根据测试时段内空闲任务的运行时长计算静态配置运行时长,该静态配置运行时长包括静态配置的任务运行时长、静态配置的中断运行时长、以及任务激活、结束、抢占的时长以及中断预处理、后处理的时长,也就是说静态配置时长就用于表征测试时段内完整的任务和中断时长;根据静态配置运行时长和测试时段的时长计算CPU负载率;
因此,在执行步骤S106的过程中,CPU负载率可采取如下公式(1)进行计算:
其中,a为空闲任务的运行时长,b为测试时段的时长。
还需要说明的是,本实施例公开的CPU负载率计算方法,还可包括:当预设标识的状态不为无效状态,或者第一当前系统时间不在测试时段内时,开启空闲任务运行线程并运行空闲任务。
本发明实施例公开的一种CPU负载率计算方法,该方法通过统计测试时段内嵌入式实时操作系统中空闲任务运行的运行时长计算CPU负载率,由于空闲任务在嵌入式实时操作系统中的优先级最低,因此,避免了统计测试时段内任务激活、结束、抢占的时长以及中断预处理、后处理的时长,从而提高了CPU负载率的计算准确度。
实施例二
结合上述本发明实施例一公开的CPU负载率计算方法,本实施例二还公开一种CPU负载率计算方法,方法流程图如图2所示,如图1示出的步骤S104之后,还包括如下步骤:
S107,当预设标识的状态不为第一有效状态时,判断嵌入式实时操作系统中是否存在任务抢占;当判断嵌入式实时操作系统中存在任务抢占时,执行步骤S108;
在执行步骤S107的过程中,由于在嵌入式实时操作系统中空闲任务的优先级最低,因此,由于网络环境的变化,可能导致嵌入式实时操作系统运行空闲任务的过程中出现其他任务或中断,此时,嵌入式实时操作系统中就会存在任务抢占。
S108,在空闲任务运行线程之后添加第二接口函数线程;
S109,开启第二接口函数线程,并根据嵌入式实时操作系统的第三当前系统时间判断预设标识的状态是否为第二有效状态,所述第二有效状态用于表征第三当前系统时间等于测试终止时间;当判断预设标识的状态为第二有效状态时,执行步骤S110;
S110,将第三当前系统时间确定为空闲任务的结束时间,并根据空闲任务的启动时间和空闲任务的结束时间计算空闲任务的运行时长;
S111,根据空闲任务的运行时长和测试时段的时长计算CPU负载率。
需要说明的是,本实施例公开的CPU负载率计算方法,还可包括:当判断嵌入式实时操作系统中不存在任务抢占时,执行步骤S112;
S112,开启空闲任务运行线程并运行空闲任务。
本实施例公开的CPU负载率计算方法,还可包括:当判断预设标识的状态不为第二有效状态时,执行步骤S113;
S113,退出计算。
还需要说明的是,当用户输入的统计时段内包含多个测试时段时,每个测试时段内的空闲任务的运行时长计算过程如上述各步骤所示,并根据统计时段内计算得到的各个空闲任务的运行时长计算空闲任务的运行总时长,最终根据统计时段的时长以及空闲任务的运行总时长计算该统计时段内的CPU负载率。
本发明实施例公开的一种CPU负载率计算方法,该方法通过统计测试时段内嵌入式实时操作系统中空闲任务运行的运行时长计算CPU负载率,由于空闲任务在嵌入式实时操作系统中的优先级最低,因此,避免了统计测试时段内任务激活、结束、抢占的时长以及中断预处理、后处理的时长,从而提高了CPU负载率的计算准确度。
实施例三
结合上述本发明实施例一和实施例二公开的CPU负载率计算方法,如图1和图2示出的步骤S106和S111中,根据空闲任务的运行时长和测试时段的时长计算CPU负载率的具体执行过程,如图3所示,包括如下步骤:
S201,根据测试时段的时长和空闲任务的运行时长计算静态配置运行时长;
S202,依据静态配置运行时长和测试时段的时长计算CPU负载率。
本发明实施例公开的一种CPU负载率计算方法,该方法通过统计测试时段内嵌入式实时操作系统中空闲任务运行的运行时长计算CPU负载率,由于空闲任务在嵌入式实时操作系统中的优先级最低,因此,避免了统计测试时段内任务激活、结束、抢占的时长以及中断预处理、后处理的时长,从而提高了CPU负载率的计算准确度。
实施例四
基于上述本发明实施例一、实施例二和实施例三公开的CPU负载率计算方法,本发明实施例四则对应公开了执行上述CPU负载率计算方法的装置,其结构示意图如图4所示,CPU负载率计算装置100包括:更新添加模块101、第一开启判断模块102、时间确定模块103、第二开启判断模块104、第一确定计算模块105和第一计算模块106;
更新添加模块101,用于当接收到携带有测试时段的测试通知时,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;
第一开启判断模块102,用于开启第一接口函数线程,并根据嵌入式实时操作系统的第一当前系统时间判断预设标识的状态是否为无效状态,所述无效状态用于表征第一当前系统时间未到达测试时段内的测试终止时间;
时间确定模块103,用于当预设标识的状态为无效状态,并且第一当前系统时间在测试时段内时,将第一当前系统时间确定为空闲任务的启动时间;
第二开启判断模块104,用于开启空闲任务运行线程,并在运行空闲任务过程中根据嵌入式实时操作系统的第二当前系统时间判断预设标识的状态是否为第一有效状态,所述第一有效状态用于表征第二当前系统时间等于测试终止时间;
第一确定计算模块105,用于当预设标识的状态为第一有效状态时,将第二当前系统时间确定为空闲任务的结束时间,并根据空闲任务的启动时间和空闲任务的结束时间计算空闲任务的运行时长;
第一计算模块106,用于根据空闲任务的运行时长和测试时段的时长计算CPU负载率。
需要说明的是,本实施例公开的CPU负载率计算装置100还可包括:开启运行模块;
开启运行模块,用于当预设标识的状态不为无效状态,或者第一当前系统时间不在测试时段内时,开启空闲任务运行线程并运行空闲任务。
本发明实施例公开的一种CPU负载率计算装置,通过统计测试时段内嵌入式实时操作系统中空闲任务运行的运行时长计算CPU负载率,由于空闲任务在嵌入式实时操作系统中的优先级最低,因此,避免了统计测试时段内任务激活、结束、抢占的时长以及中断预处理、后处理的时长,从而提高了CPU负载率的计算准确度。
实施例五
结合上述本发明实施例四公开的CPU负载率计算装置,本实施例五还公开一种CPU负载率计算装置,其结构示意图如图5所示,第二启动判断模块104,之后,还包括:判断模块107、添加模块108、第三开启判断模块109、第二确定计算模块110和第二计算模块111;
判断模块107,用于当预设标识的状态不为第一有效状态时,判断嵌入式实时操作系统中是否存在任务抢占;
添加模块108,用于当嵌入式实时操作系统中存在任务抢占时,在空闲任务运行线程之后添加第二接口函数线程;
第三开启判断模块109,用于开启第二接口函数线程,并根据嵌入式实时操作系统的第三当前系统时间判断预设标识的状态是否为第二有效状态,所述第二有效状态用于表征第三当前系统时间等于测试终止时间;
第二确定计算模块110,用于当预设标识的状态为第二有效状态时,将第三当前系统时间确定为空闲任务的结束时间,并根据空闲任务的启动时间和空闲任务的结束时间计算空闲任务的运行时长;
第二计算模块111,用于根据空闲任务的运行时长和测试时段的时长计算CPU负载率。
还需要说明的是,优选的,如图4和5示出的第一计算模块106具体用于:
根据测试时段的时长和空闲任务的运行时长计算静态配置运行时长;依据静态配置运行时长和测试时段的时长计算CPU负载率。
还需要说明的是,优选的,如图5示出的第二计算模块111,具体用于:
根据测试时段的时长和空闲任务的运行时长计算静态配置运行时长;依据静态配置运行时长和测试时段的时长计算CPU负载率。
本发明实施例公开的一种CPU负载率计算装置,通过统计测试时段内嵌入式实时操作系统中空闲任务运行的运行时长计算CPU负载率,由于空闲任务在嵌入式实时操作系统中的优先级最低,因此,避免了统计测试时段内任务激活、结束、抢占的时长以及中断预处理、后处理的时长,从而提高了CPU负载率的计算准确度。
以上对本发明所提供的一种CPU负载率计算方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种CPU负载率计算方法,其特征在于,包括:
当接收到携带有测试时段的测试通知时,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在所述嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;
开启所述第一接口函数线程,并根据所述嵌入式实时操作系统的第一当前系统时间判断所述预设标识的状态是否为无效状态,所述无效状态用于表征所述第一当前系统时间未到达所述测试时段内的测试终止时间;
当所述预设标识的状态为所述无效状态,并且所述第一当前系统时间在所述测试时段内时,将所述第一当前系统时间确定为空闲任务的启动时间;
开启所述空闲任务运行线程,并在运行所述空闲任务过程中根据所述嵌入式实时操作系统的第二当前系统时间判断所述预设标识的状态是否为第一有效状态,所述第一有效状态用于表征所述第二当前系统时间等于所述测试终止时间;
当所述预设标识的状态为所述第一有效状态时,将所述第二当前系统时间确定为所述空闲任务的结束时间,并根据所述空闲任务的启动时间和所述空闲任务的结束时间计算所述空闲任务的运行时长;
根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率。
2.根据权利要求1所述的方法,其特征在于,所述开启所述空闲任务运行线程,并在运行所述空闲任务过程中根据所述嵌入式实时操作系统的第二当前系统时间判断所述预设标识的状态是否为第一有效状态,之后,还包括:
当所述预设标识的状态不为所述第一有效状态时,判断所述嵌入式实时操作系统中是否存在任务抢占;
当所述嵌入式实时操作系统中存在任务抢占时,在所述空闲任务运行线程之后添加第二接口函数线程;
开启所述第二接口函数线程,并根据所述嵌入式实时操作系统的第三当前系统时间判断所述预设标识的状态是否为第二有效状态,所述第二有效状态用于表征所述第三当前系统时间等于所述测试终止时间;
当所述预设标识的状态为所述第二有效状态时,将所述第三当前系统时间确定为所述空闲任务的结束时间,并根据所述空闲任务的启动时间和所述空闲任务的结束时间计算所述空闲任务的运行时长;
根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述预设标识的状态不为所述无效状态,或者所述第一当前系统时间不在所述测试时段内时,开启所述空闲任务运行线程并运行所述空闲任务。
4.根据权利要求1~3任意一项所述的方法,其特征在于,所述根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率,包括:
根据所述测试时段的时长和所述空闲任务的运行时长计算静态配置运行时长;
依据所述静态配置运行时长和所述测试时段的时长计算CPU负载率。
5.一种CPU负载率计算装置,其特征在于,包括:更新添加模块、第一开启判断模块、时间确定模块、第二开启判断模块、第一确定计算模块和第一计算模块;
所述更新添加模块,用于当接收到携带有测试时段的测试通知时,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在所述嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;
所述第一开启判断模块,用于开启所述第一接口函数线程,并根据所述嵌入式实时操作系统的第一当前系统时间判断所述预设标识的状态是否为无效状态,所述无效状态用于表征所述第一当前系统时间未到达所述测试时段内的测试终止时间;
所述时间确定模块,用于当所述预设标识的状态为所述无效状态,并且所述第一当前系统时间在所述测试时段内时,将所述第一当前系统时间确定为空闲任务的启动时间;
所述第二开启判断模块,用于开启所述空闲任务运行线程,并在运行所述空闲任务过程中根据所述嵌入式实时操作系统的第二当前系统时间判断所述预设标识的状态是否为第一有效状态,所述第一有效状态用于表征所述第二当前系统时间等于所述测试终止时间;
所述第一确定计算模块,用于当所述预设标识的状态为所述第一有效状态时,将所述第二当前系统时间确定为所述空闲任务的结束时间,并根据所述空闲任务的启动时间和所述空闲任务的结束时间计算所述空闲任务的运行时长;
所述第一计算模块,用于根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率。
6.根据权利要求5所述的装置,其特征在于,所述第二开启判断模块,之后,还包括:判断模块、添加模块、第三开启判断模块、第二确定计算模块和第二计算模块;
所述判断模块,用于当所述预设标识的状态不为所述第一有效状态时,判断所述嵌入式实时操作系统中是否存在任务抢占;
所述添加模块,用于当所述嵌入式实时操作系统中存在任务抢占时,在所述空闲任务运行线程之后添加第二接口函数线程;
所述第三开启判断模块,用于开启所述第二接口函数线程,并根据所述嵌入式实时操作系统的第三当前系统时间判断所述预设标识的状态是否为第二有效状态,所述第二有效状态用于表征所述第三当前系统时间等于所述测试终止时间;
所述第二确定计算模块,用于当所述预设标识的状态为所述第二有效状态时,将所述第三当前系统时间确定为所述空闲任务的结束时间,并根据所述空闲任务的启动时间和所述空闲任务的结束时间计算所述空闲任务的运行时长;
所述第二计算模块,用于根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率。
7.根据权利要求5所述的装置,其特征在于,还包括:开启运行模块;
所述开启运行模块,用于当所述预设标识的状态不为所述无效状态,或者所述第一当前系统时间不在所述测试时段内时,开启所述空闲任务运行线程并运行所述空闲任务。
8.根据权利要求5~7任意一项所述的装置,其特征在于,所述第一计算模块,具体用于:
根据所述测试时段的时长和所述空闲任务的运行时长计算静态配置运行时长;依据所述静态配置运行时长和所述测试时段的时长计算CPU负载率。
9.根据权利要求6所述的装置,其特征在于,所述第二计算模块,具体用于:
根据所述测试时段的时长和所述空闲任务的运行时长计算静态配置运行时长;依据所述静态配置运行时长和所述测试时段的时长计算CPU负载率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196842.2A CN106897203A (zh) | 2017-03-29 | 2017-03-29 | 一种cpu负载率计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196842.2A CN106897203A (zh) | 2017-03-29 | 2017-03-29 | 一种cpu负载率计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106897203A true CN106897203A (zh) | 2017-06-27 |
Family
ID=59193381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710196842.2A Pending CN106897203A (zh) | 2017-03-29 | 2017-03-29 | 一种cpu负载率计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106897203A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783829A (zh) * | 2017-09-05 | 2018-03-09 | 平安科技(深圳)有限公司 | 任务处理方法、装置、存储介质和计算机设备 |
CN107977302A (zh) * | 2017-11-24 | 2018-05-01 | 杭州迪普科技股份有限公司 | 一种cpu使用率输出方法及装置 |
CN110968480A (zh) * | 2019-11-29 | 2020-04-07 | 同济大学 | 一种中央处理器的负载率测量方法及电子设备 |
CN111708670A (zh) * | 2020-06-10 | 2020-09-25 | 中国第一汽车股份有限公司 | 实时操作系统中任务时间参数的确定方法、装置及车辆 |
CN112000461A (zh) * | 2020-06-30 | 2020-11-27 | 航天信息股份有限公司 | 一种用于嵌入式终端任务运行时间的采集方法及装置 |
CN113138909A (zh) * | 2020-01-20 | 2021-07-20 | Oppo广东移动通信有限公司 | 负载统计方法、装置、存储介质及电子设备 |
CN113282450A (zh) * | 2021-05-12 | 2021-08-20 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于VxWorks系统的进程CPU负荷监控方法和系统 |
CN113419917A (zh) * | 2021-06-23 | 2021-09-21 | 蔚然(南京)动力科技有限公司 | 一种嵌入式操作系统任务和中断的cpu负载率计算方法 |
CN113835866A (zh) * | 2021-10-09 | 2021-12-24 | 南方电网数字电网研究院有限公司 | 多线程任务调度优化方法 |
CN114928644A (zh) * | 2022-07-20 | 2022-08-19 | 深圳市安科讯实业有限公司 | 一种物联网网络融合加速网关 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508683A (zh) * | 2002-12-17 | 2004-06-30 | 深圳市中兴通讯股份有限公司 | 一种在多任务实时操作系统中检测cpu占用率的方法 |
CN1664789A (zh) * | 2004-03-04 | 2005-09-07 | 中兴通讯股份有限公司 | 一种检测实时操作系统cpu占用率的方法 |
CN1968057A (zh) * | 2006-06-30 | 2007-05-23 | 华为技术有限公司 | 一种通信设备的测试方法 |
CN101178688A (zh) * | 2007-11-29 | 2008-05-14 | 中兴通讯股份有限公司 | 系统任务的cpu占用率检测方法及系统 |
KR20110036237A (ko) * | 2009-10-01 | 2011-04-07 | 콘티넨탈 오토모티브 시스템 주식회사 | 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법 |
CN103543982A (zh) * | 2012-07-16 | 2014-01-29 | 安凯(广州)微电子技术有限公司 | 一种时钟频率管理方法及移动设备 |
CN104077209A (zh) * | 2013-03-29 | 2014-10-01 | 通用汽车环球科技运作有限责任公司 | 计算cpu利用率的方法 |
CN105630653A (zh) * | 2016-03-15 | 2016-06-01 | 青岛海信传媒网络技术有限公司 | Docker容器的CPU空闲率确定方法及装置 |
-
2017
- 2017-03-29 CN CN201710196842.2A patent/CN106897203A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508683A (zh) * | 2002-12-17 | 2004-06-30 | 深圳市中兴通讯股份有限公司 | 一种在多任务实时操作系统中检测cpu占用率的方法 |
CN1664789A (zh) * | 2004-03-04 | 2005-09-07 | 中兴通讯股份有限公司 | 一种检测实时操作系统cpu占用率的方法 |
CN1968057A (zh) * | 2006-06-30 | 2007-05-23 | 华为技术有限公司 | 一种通信设备的测试方法 |
CN101178688A (zh) * | 2007-11-29 | 2008-05-14 | 中兴通讯股份有限公司 | 系统任务的cpu占用率检测方法及系统 |
KR20110036237A (ko) * | 2009-10-01 | 2011-04-07 | 콘티넨탈 오토모티브 시스템 주식회사 | 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법 |
CN103543982A (zh) * | 2012-07-16 | 2014-01-29 | 安凯(广州)微电子技术有限公司 | 一种时钟频率管理方法及移动设备 |
CN104077209A (zh) * | 2013-03-29 | 2014-10-01 | 通用汽车环球科技运作有限责任公司 | 计算cpu利用率的方法 |
CN105630653A (zh) * | 2016-03-15 | 2016-06-01 | 青岛海信传媒网络技术有限公司 | Docker容器的CPU空闲率确定方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783829B (zh) * | 2017-09-05 | 2020-04-24 | 平安科技(深圳)有限公司 | 任务处理方法、装置、存储介质和计算机设备 |
CN107783829A (zh) * | 2017-09-05 | 2018-03-09 | 平安科技(深圳)有限公司 | 任务处理方法、装置、存储介质和计算机设备 |
CN107977302B (zh) * | 2017-11-24 | 2021-04-27 | 杭州迪普科技股份有限公司 | 一种cpu使用率输出方法及装置 |
CN107977302A (zh) * | 2017-11-24 | 2018-05-01 | 杭州迪普科技股份有限公司 | 一种cpu使用率输出方法及装置 |
CN110968480A (zh) * | 2019-11-29 | 2020-04-07 | 同济大学 | 一种中央处理器的负载率测量方法及电子设备 |
CN113138909A (zh) * | 2020-01-20 | 2021-07-20 | Oppo广东移动通信有限公司 | 负载统计方法、装置、存储介质及电子设备 |
CN111708670A (zh) * | 2020-06-10 | 2020-09-25 | 中国第一汽车股份有限公司 | 实时操作系统中任务时间参数的确定方法、装置及车辆 |
CN112000461A (zh) * | 2020-06-30 | 2020-11-27 | 航天信息股份有限公司 | 一种用于嵌入式终端任务运行时间的采集方法及装置 |
CN113282450A (zh) * | 2021-05-12 | 2021-08-20 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于VxWorks系统的进程CPU负荷监控方法和系统 |
CN113419917A (zh) * | 2021-06-23 | 2021-09-21 | 蔚然(南京)动力科技有限公司 | 一种嵌入式操作系统任务和中断的cpu负载率计算方法 |
CN113419917B (zh) * | 2021-06-23 | 2024-06-11 | 蔚然(南京)动力科技有限公司 | 一种嵌入式操作系统任务和中断的cpu负载率计算方法 |
CN113835866A (zh) * | 2021-10-09 | 2021-12-24 | 南方电网数字电网研究院有限公司 | 多线程任务调度优化方法 |
CN113835866B (zh) * | 2021-10-09 | 2024-02-20 | 南方电网数字电网研究院有限公司 | 多线程任务调度优化方法 |
CN114928644A (zh) * | 2022-07-20 | 2022-08-19 | 深圳市安科讯实业有限公司 | 一种物联网网络融合加速网关 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897203A (zh) | 一种cpu负载率计算方法及装置 | |
Chen et al. | Small-sample results for the Kaplan-Meier estimator | |
Yao | Uncertain statistical inference models with imprecise observations | |
CN107332707B (zh) | 一种sdn网络测量数据的采集方法和装置 | |
CN108269189A (zh) | 指标数据监控方法、装置、存储介质和计算机设备 | |
CN108957333A (zh) | 计量仪表用锂电复合电池寿命评估方法 | |
CN109398092A (zh) | 一种防止整车误报故障的方法、装置和设备 | |
CN109556675A (zh) | 一种车辆及其车辆油表的显示控制系统、方法以及装置 | |
CN108565852A (zh) | 一种三阶段递进的大电网电压稳定评估的故障筛选与排序方法 | |
CN115547453A (zh) | 一种引流装置在线监测方法、系统、设备及存储介质 | |
CN106124835A (zh) | 一种配电电源电压与预定电压比较的方法 | |
Harrison et al. | Sample size and power calculations using the noncentral t-distribution | |
CN109522713A (zh) | 一种基于Büchi自动机化简运行时验证监控器的方法 | |
CN106597339A (zh) | 一种电池荷电状态的修正方法及装置 | |
CN104572291B (zh) | 一种处理器的调用方法及电子设备 | |
CN117131946A (zh) | 储能电池故障预警方法、装置、电子设备及介质 | |
CN114117786A (zh) | 一种场馆供电系统维护方法、系统、设备及介质 | |
CN110164049A (zh) | 一种基于口令更换电池的方法及设备 | |
Zhang et al. | An evaluation model of software trustworthiness based on fuzzy comprehensive evaluation method | |
CN115241546A (zh) | 电池系统的故障确定方法、装置、电子设备及存储介质 | |
CN110189019A (zh) | 机场物联网节点设备工作状态动态预警方法和系统 | |
KR20210033584A (ko) | 전압안정도 지수를 활용한 부하차단 장치 | |
Gharsellaoui et al. | New optimal solutions for real-time reconfigurable periodic asynchronous operating system tasks with minimizations of response time | |
CN113131020B (zh) | 一种工业电池组的大健康管理系统 | |
CN106302555A (zh) | 一种网络入侵检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hirain Technologies Co.,Inc. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170627 |