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.5 1995/02/16 00:28:40 wollman 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.maxprocperuid integer yes 111.It kern.maxfiles integer yes 112.It kern.maxfilesperproc integer yes 113.It kern.argmax integer no 114.It kern.securelevel integer raise only 115.It kern.hostname string yes 116.It kern.hostid integer yes 117.It kern.clockrate struct no 118.It kern.posix1version integer no 119.It kern.ngroups integer no 120.It kern.job_control integer no 121.It kern.saved_ids integer no 122.It kern.link_max integer no 123.It kern.max_canon integer no 124.It kern.max_input integer no 125.It kern.name_max integer no 126.It kern.path_max integer no 127.It kern.pipe_buf integer no 128.It kern.chown_restricted integer no 129.It kern.no_trunc integer no 130.It kern.vdisable integer no 131.It kern.boottime struct no 132.It kern.domainname string yes 133.It kern.update integer yes 134.It kern.osreldate string no 135.It kern.bootfile string yes 136.It vm.loadavg struct no 137.It hw.machine string no 138.It hw.model string no 139.It hw.ncpu integer no 140.It hw.byteorder integer no 141.It hw.physmem integer no 142.It hw.usermem integer no 143.It hw.pagesize integer no 144.It hw.floatingpoint integer no 145.It machdep.console_device dev_t no 146.It machdep.adjkerntz integer yes 147.It machdep.disable_rtc_set integer yes 148.It user.cs_path string no 149.It user.bc_base_max integer no 150.It user.bc_dim_max integer no 151.It user.bc_scale_max integer no 152.It user.bc_string_max integer no 153.It user.coll_weights_max integer no 154.It user.expr_nest_max integer no 155.It user.line_max integer no 156.It user.re_dup_max integer no 157.It user.posix2_version integer no 158.It user.posix2_c_bind integer no 159.It user.posix2_c_dev integer no 160.It user.posix2_char_term integer no 161.It user.posix2_fort_dev integer no 162.It user.posix2_fort_run integer no 163.It user.posix2_localedef integer no 164.It user.posix2_sw_dev integer no 165.It user.posix2_upe integer no 166.El 167.Sh EXAMPLES 168.Pp 169For example, to retrieve the maximum number of processes allowed 170in the system, one would use the follow request: 171.Bd -literal -offset indent -compact 172sysctl kern.maxproc 173.Ed 174.Pp 175To set the maximum number of processes allowed 176in the system to 1000, one would use the follow request: 177.Bd -literal -offset indent -compact 178sysctl -w kern.maxproc=1000 179.Ed 180.Pp 181Information about the system clock rate may be obtained with: 182.Bd -literal -offset indent -compact 183sysctl kern.clockrate 184.Ed 185.Pp 186Information about the load average history may be obtained with 187.Bd -literal -offset indent -compact 188sysctl vm.loadavg 189.Ed 190.Sh FILES 191.Bl -tag -width <netinet/icmpXvar.h> -compact 192.It Pa <sys/sysctl.h> 193definitions for top level identifiers, second level kernel and hardware 194identifiers, and user level identifiers 195.It Pa <sys/socket.h> 196definitions for second level network identifiers 197.It Pa <sys/gmon.h> 198definitions for third level profiling identifiers 199.It Pa <vm/vm_param.h> 200definitions for second level virtual memory identifiers 201.It Pa <netinet/in.h> 202definitions for third level Internet identifiers and 203fourth level IP identifiers 204.It Pa <netinet/icmp_var.h> 205definitions for fourth level ICMP identifiers 206.It Pa <netinet/udp_var.h> 207definitions for fourth level UDP identifiers 208.El 209.Sh SEE ALSO 210.Xr sysctl 3 211.Sh HISTORY 212.Nm sysctl 213first appeared in 4.4BSD. 214