how to get the number of CPUs?

Cong vo.chi.cong@is.titech.ac.jp
Sat Jul 6 21:24:00 GMT 2002


Thank you, your code works for me!

But, when I do man sysconf on Linux, it show no infomation
about _SC_NPROCESSORS_CONF as manpage on Solaris do. However, looking
at <unistd.h>, they're there!

Cong

> > On Thu, 4 Jul 2002, Cong wrote:
> > > number of CPUs on each of them. So I want to get the number of CPUs
> >   cpu info is avilable in /proc/cpuinfo file
> >   if processor is 0 then No. of CPU is 1
> >   Explore /proc dir you will more idea :)
> 
> Or the sysconf solution - for Solaris, at least, but this ought to be
> portable:
> 
>     #include <stdio.h>
>     #include <unistd.h>
> 
>     int main(void)
>     {
>         long nProcessorsConfigured = sysconf(_SC_NPROCESSORS_CONF);
>         long nProcessorsOnline     = sysconf(_SC_NPROCESSORS_ONLN);
> 
> Try 'man sysconf' to get a list of supported sysconf arguments and their
> descriptions on your platform.
> 



More information about the Gcc-help mailing list