CPU frequency
    Dan Nelson 
    dnelson at allantgroup.com
       
    Tue Jun 15 21:32:13 PDT 2004
    
    
  
In the last episode (Jun 16), CAVELIER Grgory said:
> How can I get the CPU frequency from a C program ???
> Under Linux, I used the /proc filesystem but how can I do this with 
> FreeBSD (I have version 5.2.1)
Try 
#include <stdio.h>
#include <stdlib.h>
#include <sys/sysctl.h>
#include <sys/types.h>
int main(void)
{
	long mhz;
	size_t mhzsize = sizeof(mhz);
	if (sysctlbyname("hw.clockrate", &mhz, &mhzsize, NULL, 0))
	{
		perror("cannot get MHz");
		return 1;
	}
	printf("%ld\n", mhz);
	return 0;
}
You could also use machdep.tsc_freq to get the exact clock rate in Hz.
-- 
	Dan Nelson
	dnelson at allantgroup.com
    
    
More information about the freebsd-questions
mailing list