RTOS 系统篇-统计任务的 CPU 使用率

概述

RTOS 中可以通过一些函数来统计每个任务使用 CPU 的时间,以及所使用时间占据总时间的比例。比如:系统在一段 100s 的时间内,任务 A 使用 CPU 运行了10s,任务 B 使用 CPU 运行了20s,剩下的 70s 由空闲任务在运行,则这段时间内总的 CPU 利用率是 30%,其中任务 A 占用了 10%,任务 B 占用了 20%。当然,CPU 的占用时长与 CPU 的运行速度有很大关系,同样的程序在不同的 CPU 上执行的时间不一样,因此对 CPU 的占用时间也不一样。

在调试代码时,可以根据这个时间占比情况来分析哪个任务的 CPU 占用率高,然后合理地分配或优化任务,也可以用于评估不同 CPU 运行完一段程序的性能。

统计 CPU 使用率的常见需求

主要有两种需求:

1)统计某个任务自启动 RTOS 后到当前时间,共占用了多少 CPU 的使用时间。

2)统计某个任务从 T1 时刻到 T2 时刻这段时间的 CPU 占用时间。

他们的区别可如下图所示:

统计任务或者一段代码占用 CPU 时间的基本原理

1)统计某个任务自启动 RTOS 后到当前时间,共占用了多少 CPU 的使用时间。

这种需求可以使用下述函数来实现:

RTOS 系统篇-统计任务的 CPU 使用率相关推荐

  1. RTOS 系统篇-Tickless 模式简介与测试

    RTOS 系统篇-Tickless 模式简介与测试 概述 上节讲述了统计RTOS 系统中 CPU 利用率的方法.在 CPU 空闲时,将进入空闲任务.在一些简单的应用中,设备的大部分时间都在执行空闲任务 ...

  2. android cpu使用率 代码,实现统计 android手机 CPU使用率

    # -*- coding:utf-8 -*- ''' Created on Sep 10, 2018 @author: SaShuangYiBing ''' import subprocess imp ...

  3. RTOS 系统篇-多任务协同与复杂消息的设计

    RTOS 系统篇-多任务协同与复杂消息的设计 概述 对嵌入式系统的功能进行"任务划分",是 RTOS 中软件设计的关键.当任务划分比较合理时,整体的软件设计就会比较简洁.高效.容易 ...

  4. RTOS 系统篇-看门狗 WatchDog 2

    RTOS 系统篇-看门狗 WatchDog 2 概述 上一节在 RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你] 讲解了 看门狗的基本原理,以及任务.中断中触发看门狗的原因.解决方法. 本小 ...

  5. RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你]

    RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你] 概述 程序设计完成后,要开始考虑系统整体的稳定性了. 在设备上线后,可能因为程序设计不合理.硬件设计有 bug,电气干扰.静电噪声.电源故障 ...

  6. linux下java多线程_Linux系统下Java问题排查——cpu使用率过高或多线程锁问题

    原标题:Linux系统下Java问题排查--cpu使用率过高或多线程锁问题 一个系统.特别是多线程并发的后台系统,在某些特定场景下,可能触发系统中的bug:导致cpu一直居高不下.进程hang了或处理 ...

  7. UCOSii_统计任务(CPU使用率)

    UCOSII在创建任务时,为任务分配堆栈空间,堆栈分配过多会出现浪费内存,但不影响功能.堆栈分配太小,就会出现HardFault异常,数组访问越界等等问题,最终导致程序崩溃,因此为任务分配适当的内存非 ...

  8. 获得系统中某个进程的cpu使用率

    列举所有进程的CPU占用率)      typedef   struct   _THREAD_INFO      {      LARGE_INTEGER   CreateTime;      DWO ...

  9. Linux性能优化从入门到实战:04 CPU篇:CPU使用率

      CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示. $ top top - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00 ...

最新文章

  1. 基于大数据开发套件定时调度带资源文件的MapReduce作业
  2. 马哥2013年运维视频笔记 day02 Linux系统常识
  3. 数据服务器性能测算依据,如何对服务器性能计算的公式参考(tpmc-tpcc).pdf
  4. Nginx:Nginx limit_req limit_conn限速
  5. 谈均值、方差、标准差、协方差的概念及意义
  6. 北京治堵新方案出台了!
  7. scanf()和getchar() 使用
  8. .[转] 读十年书,不如读懂这百句话
  9. Linux常用命令大全(非常全面)
  10. 机器人学导论原书第三版
  11. 企业园区网IPv6地址规划方案与应用
  12. C++中的悬垂指针(delete指针后依然可以访问的问题)
  13. swal 弹窗html页面,SweetAlert - 演示6种不同的提示框效果
  14. Web UI自动化中使用cookies登录
  15. 4043:GPA排名系统
  16. vb.net中关于byval和byref的使用
  17. css3实现两端对齐
  18. iomanip I/O流类库操纵符
  19. 百度地图定位出现4.9E -324的问题解决
  20. BAV20W规格信息

热门文章

  1. 极速pdf文件打印时此计算机未连接到网络,PDF文件如何禁止打印?简单六步就能实现!!...
  2. unity 音乐小游戏
  3. java怎么表示换行_word换行符在java中怎么表示
  4. Git新手教程-添加忽略文件(十)
  5. Java容器分类示意图
  6. 多线程采集网易云所有歌单里歌曲url(爬虫)
  7. java 中遍历双列集合_获取单列集合,双列集合,数组的Stream流对象以及简单操作...
  8. 山东大学数字媒体技术数图期末
  9. Win10系统怎么使用强制退出快捷键
  10. FPGA解析B码----连载8(完结篇)