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