summaryrefslogtreecommitdiffstats
path: root/system_cmds/sysctl.tproj/sysctl.8
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
committerCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
commit5fd83771641d15c418f747bd343ba6738d3875f7 (patch)
tree5abf0f78f680d9837dbd93d4d4c3933bb7509599 /system_cmds/sysctl.tproj/sysctl.8
downloadapple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.gz
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.zst
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.zip
Import macOS userland
adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106
Diffstat (limited to 'system_cmds/sysctl.tproj/sysctl.8')
-rw-r--r--system_cmds/sysctl.tproj/sysctl.8390
1 files changed, 390 insertions, 0 deletions
diff --git a/system_cmds/sysctl.tproj/sysctl.8 b/system_cmds/sysctl.tproj/sysctl.8
new file mode 100644
index 0000000..d421e7a
--- /dev/null
+++ b/system_cmds/sysctl.tproj/sysctl.8
@@ -0,0 +1,390 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93
+.\" $FreeBSD$
+.\"
+.Dd January 17, 2011
+.Dt SYSCTL 8
+.Os
+.Sh NAME
+.Nm sysctl
+.Nd get or set kernel state
+.Sh SYNOPSIS
+.Nm
+.Op Fl bdehiNnoqx
+.Ar name Ns Op = Ns Ar value
+.Ar ...
+.Nm
+.Op Fl bdehNnoqx
+.Fl a
+.Sh DESCRIPTION
+The
+.Nm
+utility retrieves kernel state and allows processes with appropriate
+privilege to set kernel state.
+The state to be retrieved or set is described using a
+.Dq Management Information Base
+.Pq Dq MIB
+style name, described as a dotted set of
+components.
+.Pp
+The following options are available:
+.Bl -tag -width indent
+.It Fl A
+Equivalent to
+.Fl o a
+(for compatibility).
+.It Fl a
+List all the currently available non-opaque values.
+This option is ignored if one or more variable names are specified on
+the command line.
+.It Fl b
+Force the value of the variable(s) to be output in raw, binary format.
+No names are printed and no terminating newlines are output.
+This is mostly useful with a single variable.
+.It Fl d
+Print the description of the variable instead of its value.
+.It Fl e
+Separate the name and the value of the variable(s) with
+.Ql = .
+This is useful for producing output which can be fed back to the
+.Nm
+utility.
+This option is ignored if either
+.Fl N
+or
+.Fl n
+is specified, or a variable is being set.
+.It Fl h
+Format output for human, rather than machine, readability.
+.It Fl i
+Ignore unknown OIDs.
+The purpose is to make use of
+.Nm
+for collecting data from a variety of machines (not all of which
+are necessarily running exactly the same software) easier.
+.It Fl N
+Show only variable names, not their values.
+This is particularly useful with shells that offer programmable
+completion.
+To enable completion of variable names in
+.Xr zsh 1 Pq Pa ports/shells/zsh ,
+use the following code:
+.Bd -literal -offset indent
+listsysctls () { set -A reply $(sysctl -AN ${1%.*}) }
+compctl -K listsysctls sysctl
+.Ed
+.Pp
+To enable completion of variable names in
+.Xr tcsh 1 ,
+use:
+.Pp
+.Dl "complete sysctl 'n/*/`sysctl -Na`/'"
+.It Fl n
+Show only variable values, not their names.
+This option is useful for setting shell variables.
+For instance, to save the pagesize in variable
+.Va psize ,
+use:
+.Pp
+.Dl "set psize=`sysctl -n hw.pagesize`"
+.It Fl o
+Show opaque variables (which are normally suppressed).
+The format and length are printed, as well as a hex dump of the first
+sixteen bytes of the value.
+.It Fl q
+Suppress some warnings generated by
+.Nm
+to standard error.
+.It Fl X
+Equivalent to
+.Fl x a
+(for compatibility).
+.It Fl x
+As
+.Fl o ,
+but prints a hex dump of the entire value instead of just the first
+few bytes.
+.El
+.Pp
+The information available from
+.Nm
+consists of integers, strings, and opaque types.
+The
+.Nm
+utility
+only knows about a couple of opaque types, and will resort to hexdumps
+for the rest.
+The opaque information is much more useful if retrieved by special
+purpose programs such as
+.Xr ps 1 ,
+.Xr systat 1 ,
+and
+.Xr netstat 1 .
+.Pp
+.\" Some of the variables which cannot be modified during normal system
+.\" operation can be initialized via
+.\" .Xr loader 8
+.\" tunables.
+.\" This can for example be done by setting them in
+.\" .Xr loader.conf 5 .
+.\" Please refer to
+.\" .Xr loader.conf 5
+.\" for more information on which tunables are available and how to set them.
+.\" .Pp
+The string and integer information is summarized below.
+For a detailed description of these variable see
+.Xr sysctl 3 .
+.Pp
+The changeable column indicates whether a process with appropriate
+privilege can change the value.
+String and integer values can be set using
+.Nm .
+.Bl -column xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx integerxxx
+.It Sy "Name Type Changeable"
+.It "hw.activecpu integer no"
+.It "hw.busfrequency integer no"
+.It "hw.busfrequency_max integer no"
+.It "hw.busfrequency_min integer no"
+.It "hw.byteorder integer no"
+.It "hw.cacheconfig struct no"
+.It "hw.cachelinesize integer no"
+.It "hw.cachesize struct no"
+.It "hw.cpu64bit_capable integer no"
+.It "hw.cpufamily integer no"
+.It "hw.cpufrequency integer no"
+.It "hw.cpufrequency_max integer no"
+.It "hw.cpufrequency_min integer no"
+.It "hw.cpusubtype integer no"
+.It "hw.cputhreadtype integer no"
+.It "hw.cputype integer no"
+.It "hw.l1dcachesize integer no"
+.It "hw.l1icachesize integer no"
+.It "hw.l2cachesize integer no"
+.It "hw.l3cachesize integer no"
+.It "hw.logicalcpu integer no"
+.It "hw.logicalcpu_max integer no"
+.It "hw.memsize integer no"
+.It "hw.ncpu integer no"
+.It "hw.packages integer no"
+.It "hw.pagesize integer no"
+.It "hw.physicalcpu integer no"
+.It "hw.physicalcpu_max integer no"
+.It "hw.tbfrequency integer no"
+.It "kern.argmax integer no"
+.It "kern.bootargs string no"
+.It "kern.boottime struct no"
+.It "kern.clockrate struct no"
+.It "kern.coredump integer yes"
+.It "kern.corefile string yes"
+.It "kern.flush_cache_on_write integer yes"
+.It "kern.hostid integer yes"
+.It "kern.hostname string yes"
+.It "kern.job_control integer no"
+.It "kern.maxfiles integer yes"
+.It "kern.maxfilesperproc integer yes"
+.It "kern.maxnbuf integer yes"
+.It "kern.maxproc integer yes"
+.It "kern.maxprocperuid integer yes"
+.It "kern.maxvnodes integer yes"
+.It "kern.msgbuf integer yes"
+.It "kern.nbuf integer no"
+.It "kern.netboot integer no"
+.It "kern.ngroups integer no"
+.It "kern.nisdomainname string yes"
+.It "kern.num_files integer no"
+.It "kern.num_tasks integer no"
+.It "kern.num_taskthreads integer no"
+.It "kern.num_threads integer no"
+.It "kern.num_vnodes integer no"
+.It "kern.nx integer yes"
+.It "kern.osrelease string no"
+.It "kern.osrevision integer no"
+.It "kern.ostype string no"
+.It "kern.osversion string yes"
+.It "kern.posix1version integer no"
+.It "kern.procname string yes"
+.It "kern.safeboot integer no"
+.It "kern.saved_ids integer no"
+.It "kern.secure_kernel integer no"
+.It "kern.securelevel integer yes"
+.It "kern.singleuser integer no"
+.It "kern.sleeptime struct no"
+.It "kern.slide integer no"
+.It "kern.stack_depth_max integer no"
+.It "kern.stack_size integer no"
+.It "kern.sugid_coredump integer yes"
+.It "kern.sugid_scripts integer yes"
+.It "kern.symfile string no"
+.It "kern.usrstack integer no"
+.It "kern.usrstack64 integer no"
+.It "kern.uuid string no"
+.It "kern.version string no"
+.It "kern.waketime struct no"
+.It "machdep.cpu.address_bits.physical integer no"
+.It "machdep.cpu.address_bits.virtual integer no"
+.It "machdep.cpu.brand integer no"
+.It "machdep.cpu.brand_string string no"
+.It "machdep.cpu.cache.L2_associativity integer no"
+.It "machdep.cpu.cache.linesize integer no"
+.It "machdep.cpu.cache.size integer no"
+.It "machdep.cpu.core_count integer no"
+.It "machdep.cpu.cores_per_package integer no"
+.It "machdep.cpu.extfamily integer no"
+.It "machdep.cpu.extfeature_bits integer no"
+.It "machdep.cpu.extfeatures string no"
+.It "machdep.cpu.extmodel integer no"
+.It "machdep.cpu.family integer no"
+.It "machdep.cpu.feature_bits integer no"
+.It "machdep.cpu.features string no"
+.It "machdep.cpu.leaf7_feature_bits integer no"
+.It "machdep.cpu.leaf7_features string no"
+.It "machdep.cpu.logical_per_package integer no"
+.It "machdep.cpu.max_basic integer no"
+.It "machdep.cpu.max_ext integer no"
+.It "machdep.cpu.microcode_version integer no"
+.It "machdep.cpu.model integer no"
+.It "machdep.cpu.processor_flag integer no"
+.It "machdep.cpu.signature integer no"
+.It "machdep.cpu.stepping integer no"
+.It "machdep.cpu.thread_count integer no"
+.It "machdep.cpu.tlb.data.large integer no"
+.It "machdep.cpu.tlb.data.large_level1 integer no"
+.It "machdep.cpu.tlb.data.small integer no"
+.It "machdep.cpu.tlb.data.small_level1 integer no"
+.It "machdep.cpu.tlb.inst.large integer no"
+.It "machdep.cpu.tlb.inst.small integer no"
+.It "machdep.cpu.tlb.shared integer no"
+.It "machdep.cpu.ucupdate integer yes"
+.It "machdep.cpu.vendor string no"
+.It "machdep.cpu.xsave.extended_state integer no"
+.It "machdep.tsc.deep_idle_rebase integer yes"
+.It "machdep.tsc.frequency integer no"
+.It "machdep.tsc.nanotime.generation integer no"
+.It "machdep.tsc.nanotime.shift integer no"
+.It "net.inet.ip.forwarding integer yes"
+.It "net.inet.ip.portrange.first integer yes"
+.It "net.inet.ip.portrange.hifirst integer yes"
+.It "net.inet.ip.portrange.hilast integer yes"
+.It "net.inet.ip.portrange.last integer yes"
+.It "net.inet.ip.portrange.lowfirst integer yes"
+.It "net.inet.ip.portrange.lowlast integer yes"
+.It "net.inet.ip.redirect integer yes"
+.It "net.inet.ip.ttl integer yes"
+.It "net.inet.udp.checksum integer yes"
+.It "net.inet.udp.maxdgram integer yes"
+.It "vm.loadavg struct no"
+.It "vm.swapusage struct no"
+.It "user.bc_base_max integer no"
+.It "user.bc_dim_max integer no"
+.It "user.bc_scale_max integer no"
+.It "user.bc_string_max integer no"
+.It "user.coll_weights_max integer no"
+.It "user.cs_path string no"
+.It "user.expr_nest_max integer no"
+.It "user.line_max integer no"
+.It "user.posix2_c_bind integer no"
+.It "user.posix2_c_dev integer no"
+.It "user.posix2_char_term integer no"
+.It "user.posix2_fort_dev integer no"
+.It "user.posix2_fort_run integer no"
+.It "user.posix2_localedef integer no"
+.It "user.posix2_sw_dev integer no"
+.It "user.posix2_upe integer no"
+.It "user.posix2_version integer no"
+.It "user.re_dup_max integer no"
+.It "user.stream_max integer no"
+.It "user.tzname_max integer no"
+.El
+.Sh FILES
+.Bl -tag -width ".In netinet/icmp_var.h" -compact
+.It In sys/sysctl.h
+definitions for top level identifiers, second level kernel and hardware
+identifiers, and user level identifiers
+.It In sys/socket.h
+definitions for second level network identifiers
+.It In sys/gmon.h
+definitions for third level profiling identifiers
+.It In vm/vm_param.h
+definitions for second level virtual memory identifiers
+.It In netinet/in.h
+definitions for third level Internet identifiers and
+fourth level IP identifiers
+.It In netinet/icmp_var.h
+definitions for fourth level ICMP identifiers
+.It In netinet/udp_var.h
+definitions for fourth level UDP identifiers
+.El
+.Sh EXAMPLES
+For example, to retrieve the maximum number of processes allowed
+in the system, one would use the following request:
+.Pp
+.Dl "sysctl kern.maxproc"
+.Pp
+To set the maximum number of processes allowed
+per uid to 1000, one would use the following request:
+.Pp
+.Dl "sysctl kern.maxprocperuid=1000"
+.Pp
+Information about the system clock rate may be obtained with:
+.Pp
+.Dl "sysctl kern.clockrate"
+.Pp
+Information about the load average history may be obtained with:
+.Pp
+.Dl "sysctl vm.loadavg"
+.Pp
+More variables than these exist, and the best and likely only place
+to search for their deeper meaning is undoubtedly the source where
+they are defined.
+.Sh COMPATIBILITY
+The
+.Fl w
+option has been deprecated and is silently ignored.
+.Sh SEE ALSO
+.Xr sysctl 3 ,
+.\" .Xr loader.conf 5 ,
+.Xr sysctl.conf 5
+.\" .Xr loader 8
+.Sh HISTORY
+A
+.Nm
+utility first appeared in
+.Bx 4.4 .
+.Pp
+In
+.Fx 2.2 ,
+.Nm
+was significantly remodeled.
+.\" .Sh BUGS
+.\" The
+.\" .Nm
+.\" utility presently exploits an undocumented interface to the kernel
+.\" sysctl facility to traverse the sysctl tree and to retrieve format
+.\" and name information.
+.\" This correct interface is being thought about for the time being.