前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Component之Spy

Component之Spy

作者头像
Taishan3721
发布2019-12-20 14:36:13
8040
发布2019-12-20 14:36:13
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

欢迎关注VxWorks567 如转发,请标明出处!

Spy这个组件用来监测CPU的使用情况

在Shell里调用spyHelp()就可以看到它的帮助信息

命令spy()周期显示每个任务的CPU使用量、中断的CPU使用量、内核的CPU使用量,以及CPU的空闲量。还显示自spy()启动以来的总使用量,以及上次打印之后的使用量 spy()的第一个参数表示打印数据的周期,默认是5秒一次;第二个参数表示采集数据的频率,默认是100

这里没有给spy()赋参数,因此使用的默认值,即每秒采集100次数据,每5秒打印一次数据。"total"列显式的是自调用spy()以来的CPU使用情况;"delta"列显式自上次打印以来的数据。 命令spyStop()用来停止数据收集/辅助时钟中断和定期打印。

也可以通过调用spyClkStart()/spyReport()/spyClkStop()手动监测CPU使用情况,打印的格式与spy()是一样的,只不过每个spyReport()仅打印一次数据

spyClkStart()会将负责收集数据的函数挂接到辅助时钟,然后这个函数在辅助时钟的ISR里执行。因此,Spy机制依赖于辅助时钟,而且不能监测比辅助时钟的中断级更高的中断。

注意事项:

  • 由于数据精度的问题,total有可能不是100%
  • 可以通过VIP组件INCLUDE_SPY的参数SPY_TASKS_MAX来定义可监视的最大任务数量
  • 在64位VxWorks上,Spy不显示任务的入口点
  • 在SMP系统中,如果一个任务在测量期间在CPU之间迁移了,那么它可能会被多次计数;Spy记录的数据里不再有Idle总数,此状态通过IdleTask显示;因为存在真正的并发执行,所以总百分比将超过100%,达到n*100%,其中n是系统中的CPU数量

这正是: 系统处理忙不忙,Spy机制来测量。 测量精度高不高,Aux频率来担保。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档