学习啦>学习电脑>选购与维护>选购指南>

CPU使用率是如何计算的

时间: 黎正888 分享

  当我们的程序开得多了,CPU的使用率就会上升,那CPU使用率是如何计算的呢?下面就让学习啦小编给大家说一下CPU使用率是如何计算的。

  CPU使用率的算法

  方法学习啦在线学习网1: 使用CPU的处理能力基准计算实时CPU占用率

  具体描述:

  (1) 在RTOS系统启动前, 使用Tick中断测试CPU的处理能力基准 CPUPerformanceBase;

  (2) 在系统进入运行后, 使用空闲任务执行与测试CPU处理能力基准完全相同的算法, 得到RTCPUPerformance.

  (3) 周期地计算CPU占用率, 并清除RTCPUPerformance的值, 一般每秒钟计算一次:

  RealTime CPU Load = 1 - (RTCPUPerformance/CPUPerformanceBase) * 100%

  优点:

  (1) 实现简单

学习啦在线学习网   (2) 所得到的CPU占用率非常准确, 误差只取决于CPUPerformanceBase的测试结果和整除时的余数, 通常误差小于

  1%

学习啦在线学习网   (3) 不占用硬件资源

  缺点:

学习啦在线学习网   (1) CPU必须一直全速运行, 不能修改CPU主频, 也不能使CPU进入掉电保护模式

学习啦在线学习网   (2) 不能得到系统中每个任务对CPU占用率的贡献

学习啦在线学习网   (3) 必须有一个空闲任务才能计算

  评价:

  这个算法只适用于工控, 电信等对不需要使CPU进入掉电保护模式的领域.

  方法2: 在Tick中断中对RTOS中的任务进行采样

  具体描述:

  (1) 系统进入运行后, 每次Tick中断发生时, 采样一下当前正在执行的任务, 如果CPU处于HALT态, 累加haltTimes

学习啦在线学习网   (2) 周期性地计算CPU占用率, 一般每秒钟计算一次, 并清除haltTimes:(tickIntFrequance表示Tick中断的发生频率)

学习啦在线学习网   RealTime CPU Load = haltTimes / tickIntFrequance

学习啦在线学习网   某个任务对CPU占用率的贡献 = 一个周期内该任务被采样到的次数 / tickIntFrequance * 100%

  优点:

  (1) 实现简单

  (2) 支持CPU掉电模式

学习啦在线学习网   (3) 可以大致得到每个任务对CPU占用率的贡献

  缺点:

学习啦在线学习网   (1) 误差取决于Tick的频率和OS中每个任务的运行时长, 因此误差非常大

  评价:

  这个算法适用于对CPU占用率精度要求不高的消息电子产品.

  方法3: 精确计算每个任务对CPU占用率的贡献

  具体描述:

  (1) 除Tick中断外,另开一个比Tick中断频率快若干倍的周期中断(就叫AUXTimer中断吧), 这个中断只对一个计数器执

  行一次累加.

  (2) 在OS每次执行任务切换时读取该计数器的值(AUXTimer), 并保存到TCB中, 比如, 从任务Task1切换到任务Task2,

  算法如下:

  Task1, 换出动作:

  task1的结束运行时间 = AUXTimer的当前值

  task1的总运行时间 = task1的总运行时间 + task1的结束运行时间 - task1的开始运行时间

  Task2, 换入动作:

  task2的开始运行时间 = AUXTimer的当前值

学习啦在线学习网   (以上算法中没有考虑数字回绕, 在工程实现时应当考虑, 发生回绕后任务的结束运行时间小于任务的开始运行时间.

学习啦在线学习网   (3) 周期性地计算CPU占用率, 一般每秒钟计算一次, 并清除每个任务的总运行时间, 下面的公式中, 一个周期内的总时

  间等于AUXTimer周期除以Tick周期得到的倍数:

学习啦在线学习网   某个任务对CPU占用率的贡献 = 一个周期内该任务的总运行时间 / 一个周期内的总时间

  RealTime CPU Load = 所有任务的CPU占用率之和

  对这个方法进行简单改进, 就可以实现对CPU占用率进行实时测量, 看官自己动动脑筋吧.

  优点:

  (1) 误差取决于AUXTimer中断的频率, 可以非常精确地得到每个任务对CPU占用率的贡献

  缺点:

学习啦在线学习网   (1) 复杂, 加大了任务切换时的开销

  (2) 和前两种算法相比, 这个算法要多占用一个硬件资源

CPU使用率是如何计算的相关文章

1.cpu使用率如何计算

2.cpu正常使用率多少

3.如何查看cpu使用率

4.服务器cpu使用率多少算正常

5.CPU是如何进行运算的

.

CPU使用率是如何计算的

当我们的程序开得多了,CPU的使用率就会上升,那CPU使用率是如何计算的呢?下面就让学习啦小编给大家说一下CPU使用率是如何计算的。 CPU使用率的算法 方法1: 使用CPU的处理能力基准计算实时CPU占用率 具体描述: (1) 在RTOS系统启动前, 使
推荐度:
点击下载文档文档为doc格式

精选文章

  • cpu是如何制造出来的
    cpu是如何制造出来的

    作为一个数码爱好者,我想很多人都会好奇,CPU是如何被制造出来的呢?下面就让学习啦小编给大家分享一下CPU是如何制造出来的。 CPU的制造过程 硅片制备

  • 如何安装CPU
    如何安装CPU

    DIY大家都知道是自己动手做的意思。CPU安装到主板上是DIY组装电脑最重要的一个环节,如果没有安装好,整台电脑就是组装失败的结果。下面就让学习啦小

  • 台式机如何换CPU
    台式机如何换CPU

    台式机升级CPU通常是比较有效的为电脑提升性能的方法 ,学习啦小编给大家介绍下换装CPU的过程。 台式机更换cpu CPU的型号不同其接脚也不相同,所以升级

  • 台式机CPU怎么涂硅胶
    台式机CPU怎么涂硅胶

    学习啦在线学习网人们在生活中对微小的细节有人重视有人忽视,每一个微小的细节可能就是一件事情或一个人成败的关键。其实涂抹散热硅脂也是一样,不要把它看做是一

1758651