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