测试CPU空闲率(Vxworks)
来源:互联网 发布:数据堂去哪领任务 编辑:程序博客网 时间:2024/05/12 05:58
#include "vxworks.h"
#include "taskLib.h"
#include "wdLib.h"
#include "intLib.h"
#define DEADLINE_TIME 1
#define PRIORITY 255
LOCAL WDOG_ID wdid;
LOCAL unsigned int idleBaseCount = 0;
LOCAL unsigned int idleCount = 0;
unsigned int G_idlePercent = 0xffffffff;
LOCAL void IdleFuncEntry (void);
LOCAL void calculateIdleHandle (void);
unsigned int getIdlePercent(void)
{
return G_idlePercent;
}
BOOL initIdleFunction ( void )
{
int tid;
idleBaseCount = 0;
if(NULL == (wdid = wdCreate()))
{
perror("cannot create idle watchdog/n");
return ERROR;
}
if( ERROR == wdStart(wdid,sysClkRateGet()*DEADLINE_TIME,
(FUNCPTR)calculateIdleHandle,0 ) )
{
perror("error in starting idle watchdog timer/n" );
return ERROR;
}
if( ERROR == (tid = taskSpawn( (char *)"IdleTask", PRIORITY,0, 1024,
(FUNCPTR)IdleFuncEntry, 0,0,0,0,0,0,0,0,0,0 ) ) )
{
perror("error in create idle task/n" );
return ERROR;
}
return TRUE;
}
LOCAL void calculateIdleHandle( void )
{
if( idleBaseCount == 0 )
{
G_idlePercent = 0xffffffff;
idleBaseCount = idleCount;
} else {
G_idlePercent = (idleCount * 100) / idleBaseCount;
if( G_idlePercent > 100 ) {
G_idlePercent = 100;
idleBaseCount = idleCount;
}
}
idleCount = 0;
if( ERROR == wdStart(wdid,sysClkRateGet()*DEADLINE_TIME ,
(FUNCPTR)calculateIdleHandle,0 ) )
{
perror("error in restarting idle watchdog timer/n" );
}
}
LOCAL void IdleFuncEntry(void)
{
idleCount = 0;
while( TRUE )
{
if( INT_CONTEXT() ) {
} else {
++idleCount ;
}
taskDelay(0);
}
}
#include "taskLib.h"
#include "wdLib.h"
#include "intLib.h"
#define DEADLINE_TIME 1
#define PRIORITY 255
LOCAL WDOG_ID wdid;
LOCAL unsigned int idleBaseCount = 0;
LOCAL unsigned int idleCount = 0;
unsigned int G_idlePercent = 0xffffffff;
LOCAL void IdleFuncEntry (void);
LOCAL void calculateIdleHandle (void);
unsigned int getIdlePercent(void)
{
return G_idlePercent;
}
BOOL initIdleFunction ( void )
{
int tid;
idleBaseCount = 0;
if(NULL == (wdid = wdCreate()))
{
perror("cannot create idle watchdog/n");
return ERROR;
}
if( ERROR == wdStart(wdid,sysClkRateGet()*DEADLINE_TIME,
(FUNCPTR)calculateIdleHandle,0 ) )
{
perror("error in starting idle watchdog timer/n" );
return ERROR;
}
if( ERROR == (tid = taskSpawn( (char *)"IdleTask", PRIORITY,0, 1024,
(FUNCPTR)IdleFuncEntry, 0,0,0,0,0,0,0,0,0,0 ) ) )
{
perror("error in create idle task/n" );
return ERROR;
}
return TRUE;
}
LOCAL void calculateIdleHandle( void )
{
if( idleBaseCount == 0 )
{
G_idlePercent = 0xffffffff;
idleBaseCount = idleCount;
} else {
G_idlePercent = (idleCount * 100) / idleBaseCount;
if( G_idlePercent > 100 ) {
G_idlePercent = 100;
idleBaseCount = idleCount;
}
}
idleCount = 0;
if( ERROR == wdStart(wdid,sysClkRateGet()*DEADLINE_TIME ,
(FUNCPTR)calculateIdleHandle,0 ) )
{
perror("error in restarting idle watchdog timer/n" );
}
}
LOCAL void IdleFuncEntry(void)
{
idleCount = 0;
while( TRUE )
{
if( INT_CONTEXT() ) {
} else {
++idleCount ;
}
taskDelay(0);
}
}
- 测试CPU空闲率(Vxworks)
- Linux 空闲内存和空闲CPU计算
- 判断系统CPU是否空闲
- vxworks cpu utilization(spy command)
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存等
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存等
- 【转】编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存等
- MFC如何建立CPU空闲处理(OnIdle )
- VxWorks测试题
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存 Nvidia GPU的利用率等
- 编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存 Nvidia GPU的利用率等
- VxWorks平台下计算cpu的利用率
- VxWorks平台下计算cpu的利用率
- vxworks测试题及解答
- vxworks测试题及解答
- VxWorks测试题及解答
- CPU测试
- cpu测试
- 运营商噩梦:手机要是直接互联了
- Spring 對 Lob 的支援...
- 最近又完成了一个大作
- C++字符串完全指引之一 —— Win32 字符编码
- 孙鑫VC学习笔记:第十四讲 网络的基本概念
- 测试CPU空闲率(Vxworks)
- 测试问题:时间验证失效
- 开发中的几个问题
- 课题慢慢施工中!#1
- 我的程序员生涯总结
- C#写的加密解密实用包
- 字符编码问题摘要
- 程序员35岁之前成功12条法则
- 程序员基本素质