基于VxWorks系统的进程CPU负荷监控方法和系统与流程

文档序号:26360785发布日期:2021-08-20 20:37阅读:来源:国知局

技术特征:

1.一种基于vxworks系统的进程cpu负荷监控方法,其特征在于,包括:

步骤1:在进程切换时,记录任务的切入时间和换出时间;

步骤2:根据任务的切入时间和换出时间,计算任务的单次运行时间和累计运行时间,其中:单次运行时间=换出时间-切入时间,累计运行时间=∑单次运行时间;

步骤3:计算进程cpu负荷,进程cpu负荷=预设时长内任务的累计运行时间/预设时长。

2.根据权利要求1所述的基于vxworks系统的进程cpu负荷监控方法,其特征在于,创建任务切换回调函数switchhook,调用vxworks系统apitaskswitchhookadd注册回调函数,用以获取每个任务的运行时间;

所述回调函数switchhook为:

voidswitchhook(wind_tcb*poldtcb,wind_tcb*pnewtcb)

其中:poldtcb为换出的原任务控制块,pnewtcb为切入的目标任务控制块,在回调函数中记录每个任务的切入时间和换出时间,获得每个任务每次运行的时长,每个任务在预设时间段内累计的时间值对比时间段的时长,得出每个任务占用的cpu负荷。

3.根据权利要求1所述的基于vxworks系统的进程cpu负荷监控方法,其特征在于,创建优先级最低的系统空闲任务,在系统没有工作时运行空闲任务,使得系统cpu负荷为100%。

4.根据权利要求1所述的基于vxworks系统的进程cpu负荷监控方法,其特征在于,创建周期为1秒的定时器并连接回调函数,根据回调函数中获得的每个任务的运行时间计算任务在1秒钟内的cpu负荷。

5.根据权利要求1所述的基于vxworks系统的进程cpu负荷监控方法,其特征在于,创建定时器在每个定时周期内根据任务的累积运行时间计算每个任务的cpu负荷。

6.一种基于vxworks系统的进程cpu负荷监控系统,其特征在于,包括:

模块m1:在进程切换时,记录任务的切入时间和换出时间;

模块m2:根据任务的切入时间和换出时间,计算任务的单次运行时间和累计运行时间,其中:单次运行时间=换出时间-切入时间,累计运行时间=∑单次运行时间;

模块m3:计算进程cpu负荷,进程cpu负荷=预设时长内任务的累计运行时间/预设时长。

7.根据权利要求6所述的基于vxworks系统的进程cpu负荷监控系统,其特征在于,创建任务切换回调函数switchhook,调用vxworks系统apitaskswitchhookadd注册回调函数,用以获取每个任务的运行时间;

所述回调函数switchhook为:

voidswitchhook(wind_tcb*poldtcb,wind_tcb*pnewtcb)

其中:poldtcb为换出的原任务控制块,pnewtcb为切入的目标任务控制块,在回调函数中记录每个任务的切入时间和换出时间,获得每个任务每次运行的时长,每个任务在预设时间段内累计的时间值对比时间段的时长,得出每个任务占用的cpu负荷。

8.根据权利要求6所述的基于vxworks系统的进程cpu负荷监控系统,其特征在于,创建优先级最低的系统空闲任务,在系统没有工作时运行空闲任务,使得系统cpu负荷为100%。

9.根据权利要求6所述的基于vxworks系统的进程cpu负荷监控系统,其特征在于,创建周期为1秒的定时器并连接回调函数,根据回调函数中获得的每个任务的运行时间计算任务在1秒钟内的cpu负荷。

10.根据权利要求6所述的基于vxworks系统的进程cpu负荷监控系统,其特征在于,创建定时器在每个定时周期内根据任务的累积运行时间计算每个任务的cpu负荷。


技术总结
本发明提供了一种基于VxWorks系统的进程CPU负荷监控方法和系统,包括:步骤1:在进程切换时,记录任务的切入时间和换出时间;步骤2:根据任务的切入时间和换出时间,计算任务的单次运行时间和累计运行时间,其中:单次运行时间=换出时间‑切入时间,累计运行时间=∑单次运行时间;步骤3:计算进程CPU负荷,进程CPU负荷=预设时长内任务的累计运行时间/预设时长。本发明无需硬件时钟,通过纯软件的方法,实现了VxWorks系统下的CPU负荷监控,以及实现每个任务的CPU负荷的监控,提供了在Linux环境下的统计CPU负荷的功能。

技术研发人员:张新民;李琳;邹勤宜;王翔;王乃博;何炜;张邦栋
受保护的技术使用者:上海微波技术研究所(中国电子科技集团公司第五十研究所)
技术研发日:2021.05.12
技术公布日:2021.08.20
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1