int get_nprocs(void);
int get_nprocs_conf(void);
The function get_nprocs() returns the number of processors currently available in the system. This may be less than the number returned by get_nprocs_conf() because processors may be offline (e.g., on hotpluggable systems).
The following sysconf(3) calls make use of the functions documented on this page to return the same information.
np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */
np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */
#include <stdio.h>
#include <sys/sysinfo.h>
int
main(int argc, char *argv[])
{
printf("This system has %d processors configured and "
"%d processors available.\n",
get_nprocs_conf(), get_nprocs());
return 0;
}