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负荷。