]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/get_nprocs_conf.3
getauxval.3: wfix
[thirdparty/man-pages.git] / man3 / get_nprocs_conf.3
CommitLineData
f9d28c34 1.\" Copyright (c) 2012, Petr Benas
ebae66eb 2.\" and Copyright (c) 2012, Michael Kerrisk <mtk.man-pages@gmail.com>
f9d28c34 3.\"
93015253 4.\" %%%LICENSE_START(VERBATIM)
f9d28c34
BP
5.\" Permission is granted to make and distribute verbatim copies of this
6.\" manual provided the copyright notice and this permission notice are
7.\" preserved on all copies.
8.\"
9.\" Permission is granted to copy and distribute modified versions of
10.\" this manual under the conditions for verbatim copying, provided that
11.\" the entire resulting derived work is distributed under the terms of
12.\" a permission notice identical to this one.
13.\"
14.\" Since the Linux kernel and libraries are constantly changing, this
62290181
SP
15.\" manual page may be incorrect or out-of-date. The author(s) assume
16.\" no responsibility for errors or omissions, or for damages resulting
17.\" from the use of the information contained herein. The author(s) may
18.\" not have taken the same level of care in the production of this
19.\" manual, which is licensed free of charge, as they might when working
f9d28c34
BP
20.\" professionally.
21.\"
22.\" Formatted or processed versions of this manual, if unaccompanied by
23.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 24.\" %%%LICENSE_END
6fe07dbf 25.\"
c73595c2 26.TH GET_NPROCS 3 2015-04-19 "GNU" "Linux Programmer's Manual"
f9d28c34 27.SH NAME
ebae66eb 28get_nprocs, get_nprocs_conf \- get number of processors
f9d28c34
BP
29.SH SYNOPSIS
30.B #include <sys/sysinfo.h>
31.sp
32.BI "int get_nprocs(void);"
33.br
34.BI "int get_nprocs_conf(void);"
35.SH DESCRIPTION
ebae66eb
MK
36The function
37.BR get_nprocs_conf ()
38returns the number of processors configured by the operating system.
39
f9d28c34
BP
40The function
41.BR get_nprocs ()
42returns the number of processors currently available in the system.
ebae66eb 43This may be less than the number returned by
f9d28c34 44.BR get_nprocs_conf ()
ebae66eb
MK
45because processors may be offline (e.g., on hotpluggable systems).
46.SH RETURN VALUE
47As given in DESCRIPTION.
08da409a
ZL
48.SH ATTRIBUTES
49For an explanation of the terms used in this section, see
50.BR attributes (7).
51.TS
52allbox;
53lb lb lb
54l l l.
55Interface Attribute Value
56T{
57.BR get_nprocs (),
58.br
59.BR get_nprocs_conf ()
60T} Thread safety MT-Safe
61.TE
62
ebae66eb
MK
63.SH CONFORMING TO
64These functions are GNU extensions.
65.SH NOTES
66The current
67.\" glibc 2.15
68implementation of these functions is rather expensive,
69since they open and parse files in the
70.I /sys
9ee4a2b6 71filesystem each time they are called.
ebae66eb
MK
72
73The following
74.BR sysconf (3)
75calls make use of the functions documented on this page
76to return the same information.
77.nf
78
79 np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */
80 np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */
81.fi
f9d28c34 82.SH EXAMPLE
ebae66eb 83The following example shows how
f9d28c34
BP
84.BR get_nprocs ()
85and
86.BR get_nprocs_conf ()
87can be used.
88
89.nf
28d33f0e 90#include <stdlib.h>
f9d28c34
BP
91#include <stdio.h>
92#include <sys/sysinfo.h>
93
ebae66eb
MK
94int
95main(int argc, char *argv[])
f9d28c34 96{
ebae66eb
MK
97 printf("This system has %d processors configured and "
98 "%d processors available.\\n",
99 get_nprocs_conf(), get_nprocs());
28d33f0e 100 exit(EXIT_SUCCESS);
f9d28c34
BP
101}
102.fi
103