永发信息网

我想取多核CPU每个核心的占用率,怎么弄

答案:1  悬赏:0  手机版
解决时间 2021-11-21 13:42
我想取多核CPU每个核心的占用率,怎么弄
最佳答案
方法1: 使用CPU的处理能力基准计算实时CPU占用率
  具体描述:
  (1) 在RTOS系统启动前, 使用Tick中断测试CPU的处理能力基准 CPUPerformanceBase;
  (2) 在系统进入运行后, 使用空闲任务执行与测试CPU处理能力基准完全相同的算法, 得到RTCPUPerformance.
  (3) 周期地计算CPU占用率, 并清除RTCPUPerformance的值, 一般每秒钟计算一次:
  RealTime CPU Load = 1 - (RTCPUPerformance/CPUPerformanceBase) * 100%
  评价:
  这个算法只适用于工控, 电信等对不需要使CPU进入掉电保护模式的领域。
  方法2: 在Tick中断中对RTOS中的任务进行采样
  具体描述:
  (1) 系统进入运行后, 每次Tick中断发生时, 采样一下当前正在执行的任务, 如果CPU处于HALT态, 累加haltTimes
  (2) 周期性地计算CPU占用率, 一般每秒钟计算一次, 并清除haltTimes:(tickIntFrequance表示Tick中断的发生频率)
  RealTime CPU Load = haltTimes / tickIntFrequance
  某个任务对CPU占用率的贡献 = 一个周期内该任务被采样到的次数 / tickIntFrequance * 100%
  评价:
  这个算法适用于对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占用率之和
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
客厅外边电线杆好不好
泸州市江阳西路39号属于那个社区
如何用三相电线去电鱼
化简下面各比。(1)0.32:0.8 (2)1:0.25 (3)1.
已经交房入住但是限购,开发商以我被限购为由
现在打篮球还可以手测吗?如果不可以是不是防
范特西篮球经理官网总是卡在11%或者22%就显示
求小说《缚娇索》1~21章全文。
76.6mmHg是多少压力
财务费用-汇兑收益用红字放在借方好还是用黑
如何对私募股权基金进行尽职调查
电脑上安装的软件找不到安装包放哪了,怎么找?
腮帮摸着疼,有时自己还一跳一跳的的疼怎么回
2012年卫辉招教面试马上就要开始了,大家都做
柔情陌路竟分不清先后情欲独奏使我漠然放手
推荐资讯
堂兄弟中怎样区分"近堂"和"远堂
地球很深的地底下有没有巨虫
没看错没看错,马哥居然真的真的.笑了
我对象身高170CM,体重70公斤,是有点胖,但
21三体综合症地风险1:636
说帮忙追欠款的黑客。。这个是骗子,别被骗了
无缝钢管76x3 5规格什么价格
朱砂的主要成份是什么?
怎么样能够把空调弄坏,但是有不太能看得出来
无障碍改造和适老化改造有区别吗?
那18和20的丝锥方头尺寸是多少?
猿猴是怎么进化为人的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?