UCOSII 使用空闲任务的计数值(OSIdleCtr)来实现CPU使用率的统计,首先统计一个固定时间内的计数值保存下来为 (MAX),然后再开启一个固定的时间段,当时间到达时得到另外一个(OSIdleCtr)的计数值保存为(ctr)。在这一段时间中,当运行用户任务时空闲任务因为优先级低无法执行那么OSIdleCtr无法计数,只有无用户任务时空闲任务执行计数值计数。最后CPU使用率就为1-ctr/MAX.。

其中固定的时间最终是使用系统节拍中断来实现。

源码中发现问题:在第一次统计固定时间计数值OSIdleCtr大小后,OSIdleCtr并未归零,这回导致第一次计算的CPU使用率为负值。

最新文章

  1. synchronized使用说明
  2. [CentOs7]搭建ftp服务器(3)——上传,下载,删除,重命名,新建文件夹
  3. 关于Java 里的String和对象
  4. Spring浅探
  5. bin和sbin的区别
  6. “T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法
  7. Python Tutorial 学习(四)--More Control Flow Tools
  8. HDOJ 1236 排名(练耐心题)
  9. Selenium+Python浏览器调用:Firefox
  10. linux学习笔记之硬盘分区
  11. vue.js基础知识篇(6):组件详解
  12. django新手第一课
  13. what's the 白盒测试
  14. CentOS7 下 keepalived 的安装和配置
  15. 猜字母游戏(Java)
  16. laravel App\Kernel.php中的middleware、middlewareGroups、routeMiddleware
  17. 【AMQ】之JMS概念
  18. jQuery学习笔记(jquery.simplemodal插件)
  19. BarTender连接不上数据库怎么办
  20. 1027 Colors in Mars (20 分)

热门文章

  1. Nginx使用默认配置启动异常处理
  2. Unity 实现橡皮擦效果
  3. 如何在ubuntu下重建被grub覆盖的win10引导区?
  4. 02.02 lamp环境搭建笔记
  5. VC.VS版本&VC版本&OpenCV版本
  6. NDK学习笔记-增量更新
  7. 深入理解java:5. Java分布式架构
  8. Hadoop介绍与安装
  9. 图片水印工具类java
  10. Python内存相关