1 获取cpu核心个数
> long m_GetCpuCoreNum() \
> {
> return sysconf (_SC_NPROCESSORS_CONF);
> }
2 获取cpu计数
> unsigned long long GetCpuTickCount()
> {
> unsigned long long result = 0 ;
> unsigned int lo,hi;
> __asm__ __volatile__ (
> "rdtsc"
> : "=a"(lo),"=d"(hi)
> );
> result = hi;
> result = (unsigned long long)(result<<32)|lo;
> return result;
> }
3 计算cpu频率
> unsigned long long m_GetCpuFreq()
> {
> unsigned long long iStartCounter, iStopCounter;
> struct timespe start, end;
> clock_gettime(CLOCK_REALTIME,&start)
> iStartCounter = GetCpuTickCount();
> do{
> clock_gettime(CLOCK_REALTIME,&end)
> }while(end.tv_sec <= start.tv_sec || end.tv_usec < start.tv_usec);
> iStopCounter = GetCpuTickCount();
> return (iStopCounter - iStartCounter);
> }
4 获取cpu温度命令
sensors