From 5fd83771641d15c418f747bd343ba6738d3875f7 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sun, 9 May 2021 14:20:58 -0400 Subject: 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 --- system_cmds/sysctl.tproj/sysctl.8 | 390 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 390 insertions(+) create mode 100644 system_cmds/sysctl.tproj/sysctl.8 (limited to 'system_cmds/sysctl.tproj/sysctl.8') 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. -- cgit v1.2.3-56-ge451