'\" t .\" Copyright (c) 2012, Petr Benas .\" and Copyright (c) 2012, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH get_nprocs 3 2023-07-20 "Linux man-pages 6.05.01" .SH NAME get_nprocs, get_nprocs_conf \- get number of processors .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .PP .B int get_nprocs(void); .B int get_nprocs_conf(void); .fi .SH DESCRIPTION The function .BR get_nprocs_conf () returns the number of processors configured by the operating system. .PP The function .BR get_nprocs () returns the number of processors currently available in the system. This may be less than the number returned by .BR get_nprocs_conf () because processors may be offline (e.g., on hotpluggable systems). .SH RETURN VALUE As given in DESCRIPTION. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR get_nprocs (), .BR get_nprocs_conf () T} Thread safety MT-Safe .TE .sp 1 .SH STANDARDS GNU. .SH NOTES The current .\" glibc 2.15 implementation of these functions is rather expensive, since they open and parse files in the .I /sys filesystem each time they are called. .PP The following .BR sysconf (3) calls make use of the functions documented on this page to return the same information. .PP .in +4n .EX np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */ np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */ .EE .in .SH EXAMPLES The following example shows how .BR get_nprocs () and .BR get_nprocs_conf () can be used. .PP .\" SRC BEGIN (get_nprocs_conf.c) .EX #include #include #include \& int main(void) { printf("This system has %d processors configured and " "%d processors available.\en", get_nprocs_conf(), get_nprocs()); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH SEE ALSO .BR nproc (1)