xref: /freebsd/sbin/sysctl/sysctl.8 (revision a316b26e50bbed7cf655fbba726ab87d8ab7599d)
1.\" Copyright (c) 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\"    must display the following acknowledgement:
14.\"	This product includes software developed by the University of
15.\"	California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"	From: @(#)sysctl.8	8.1 (Berkeley) 6/6/93
33.\"	$Id: sysctl.8,v 1.3 1994/10/17 18:55:21 ache Exp $
34.\"
35.Dd September 23, 1994
36.Dt SYSCTL 8
37.Os
38.Sh NAME
39.Nm sysctl
40.Nd get or set kernel state
41.Sh SYNOPSIS
42.Nm sysctl
43.Op Fl n
44.Ar name ...
45.Nm sysctl
46.Op Fl n
47.Fl w
48.Ar name=value ...
49.Nm sysctl
50.Op Fl n
51.Fl aA
52.Sh DESCRIPTION
53The
54.Nm sysctl
55utility retrieves kernel state and allows processes with
56appropriate privilege to set kernel state.
57The state to be retrieved or set is described using a
58``Management Information Base'' (``MIB'') style name,
59described as a dotted set of components.
60The
61.Fl a
62flag can be used to list all the currently available string or integer values.
63The
64.Fl A
65flag will list all the known MIB names including tables.
66Those with string or integer values will be printed as with the
67.Fl a
68flag; for the table values,
69the name of the utility to retrieve them is given.
70.Pp
71The
72.Fl n
73flag specifies that the printing of the field name should be
74suppressed and that only its value should be output.
75This flag is useful for setting shell variables.
76For example, to save the pagesize in variable psize, use:
77.Bd -literal -offset indent -compact
78set psize=`sysctl -n hw.pagesize`
79.Ed
80.Pp
81If just a MIB style name is given,
82the corresponding value is retrieved.
83If a value is to be set, the
84.Fl w
85flag must be specified and the MIB name followed
86by an equal sign and the new value to be used.
87.Pp
88The information available from
89.Nm sysctl
90consists of integers, strings, and tables.
91The tabular information can only be retrieved by special
92purpose programs such as
93.Nm ps ,
94.Nm systat ,
95and
96.Nm netstat .
97The string and integer information is summaried below.
98For a detailed description of these variable see
99.Xr sysctl 3 .
100The changeable column indicates whether a process with appropriate
101privilege can change the value.
102.Bl -column net.inet.ip.forwardingxxxxxx integerxxx
103.It Sy Name	Type	Changeable
104.It kern.ostype	string	no
105.It kern.osrelease	string	no
106.It kern.osrevision	integer	no
107.It kern.version	string	no
108.It kern.maxvnodes	integer	yes
109.It kern.maxproc	integer	yes
110.It kern.maxfiles	integer	yes
111.It kern.argmax	integer	no
112.It kern.securelevel	integer	raise only
113.It kern.hostname	string	yes
114.It kern.hostid	integer	yes
115.It kern.clockrate	struct	no
116.It kern.posix1version	integer	no
117.It kern.ngroups	integer	no
118.It kern.job_control	integer	no
119.It kern.saved_ids	integer	no
120.It kern.link_max	integer	no
121.It kern.max_canon	integer	no
122.It kern.max_input	integer	no
123.It kern.name_max	integer	no
124.It kern.path_max	integer	no
125.It kern.pipe_buf	integer	no
126.It kern.chown_restricted	integer	no
127.It kern.no_trunc	integer	no
128.It kern.vdisable	integer	no
129.It kern.boottime	struct	no
130.It kern.domainname	string	yes
131.It kern.update	integer	yes
132.It kern.osreldate	string	no
133.It kern.bootfile	string	yes
134.It vm.loadavg	struct	no
135.It net.inet.ip.forwarding	integer	yes
136.It net.inet.ip.redirect	integer	yes
137.It net.inet.ip.ttl	integer	yes
138.It net.inet.icmp.maskrepl	integer	yes
139.It net.inet.udp.checksum	integer	yes
140.It hw.machine	string	no
141.It hw.model	string	no
142.It hw.ncpu	integer	no
143.It hw.byteorder	integer	no
144.It hw.physmem	integer	no
145.It hw.usermem	integer	no
146.It hw.pagesize	integer	no
147.It hw.floatingpoint	integer	no
148.It machdep.console_device	dev_t	no
149.It machdep.adjkerntz	integer	yes
150.It machdep.disable_rtc_set	integer	yes
151.It user.cs_path	string	no
152.It user.bc_base_max	integer	no
153.It user.bc_dim_max	integer	no
154.It user.bc_scale_max	integer	no
155.It user.bc_string_max	integer	no
156.It user.coll_weights_max	integer	no
157.It user.expr_nest_max	integer	no
158.It user.line_max	integer	no
159.It user.re_dup_max	integer	no
160.It user.posix2_version	integer	no
161.It user.posix2_c_bind	integer	no
162.It user.posix2_c_dev	integer	no
163.It user.posix2_char_term	integer	no
164.It user.posix2_fort_dev	integer	no
165.It user.posix2_fort_run	integer	no
166.It user.posix2_localedef	integer	no
167.It user.posix2_sw_dev	integer	no
168.It user.posix2_upe	integer	no
169.El
170.Sh EXAMPLES
171.Pp
172For example, to retrieve the maximum number of processes allowed
173in the system, one would use the follow request:
174.Bd -literal -offset indent -compact
175sysctl kern.maxproc
176.Ed
177.Pp
178To set the maximum number of processes allowed
179in the system to 1000, one would use the follow request:
180.Bd -literal -offset indent -compact
181sysctl -w kern.maxproc=1000
182.Ed
183.Pp
184Information about the system clock rate may be obtained with:
185.Bd -literal -offset indent -compact
186sysctl kern.clockrate
187.Ed
188.Pp
189Information about the load average history may be obtained with
190.Bd -literal -offset indent -compact
191sysctl vm.loadavg
192.Ed
193.Sh FILES
194.Bl -tag -width <netinet/icmpXvar.h> -compact
195.It Pa <sys/sysctl.h>
196definitions for top level identifiers, second level kernel and hardware
197identifiers, and user level identifiers
198.It Pa <sys/socket.h>
199definitions for second level network identifiers
200.It Pa <sys/gmon.h>
201definitions for third level profiling identifiers
202.It Pa <vm/vm_param.h>
203definitions for second level virtual memory identifiers
204.It Pa <netinet/in.h>
205definitions for third level Internet identifiers and
206fourth level IP identifiers
207.It Pa <netinet/icmp_var.h>
208definitions for fourth level ICMP identifiers
209.It Pa <netinet/udp_var.h>
210definitions for fourth level UDP identifiers
211.El
212.Sh SEE ALSO
213.Xr sysctl 3
214.Sh HISTORY
215.Nm sysctl
216first appeared in 4.4BSD.
217