1*3fe5961aSDevin Teske.\" Copyright (c) 2013-2026 Devin Teske <dteske@FreeBSD.org> 2*3fe5961aSDevin Teske.\" Copyright (c) 2021-2026 Faraz Vahedi <kfv@FreeBSD.org> 3*3fe5961aSDevin Teske.\" 4*3fe5961aSDevin Teske.\" SPDX-License-Identifier: BSD-2-Clause 5*3fe5961aSDevin Teske.\" 6*3fe5961aSDevin Teske.Dd August 2, 2026 7*3fe5961aSDevin Teske.Dt SYSCONF-SYSCTL 8 8*3fe5961aSDevin Teske.Os 9*3fe5961aSDevin Teske.Sh NAME 10*3fe5961aSDevin Teske.Nm "sysconf sysctl" 11*3fe5961aSDevin Teske.Nd configure boot-time sysctl.conf directives 12*3fe5961aSDevin Teske.Sh SYNOPSIS 13*3fe5961aSDevin Teske.Nm sysconf 14*3fe5961aSDevin Teske.Cm sysctl 15*3fe5961aSDevin Teske.Op Fl AcDeFinNqvVx 16*3fe5961aSDevin Teske.Op Fl j Ar jail | Fl R Ar dir 17*3fe5961aSDevin Teske.Op Fl f Ar file | Fl k Ar module 18*3fe5961aSDevin Teske.Ar name Ns Op Ns Oo +|- Oc Ns = Ns Ar value 19*3fe5961aSDevin Teske.Ar ... 20*3fe5961aSDevin Teske.Nm sysconf 21*3fe5961aSDevin Teske.Cm sysctl 22*3fe5961aSDevin Teske.Op Fl ADeFnNqvV 23*3fe5961aSDevin Teske.Op Fl f Ar file | Fl k Ar module 24*3fe5961aSDevin Teske.Fl a 25*3fe5961aSDevin Teske.Nm sysconf 26*3fe5961aSDevin Teske.Cm sysctl 27*3fe5961aSDevin Teske.Op Fl AaDinNq 28*3fe5961aSDevin Teske.Fl d 29*3fe5961aSDevin Teske.Op Ar name ... 30*3fe5961aSDevin Teske.Nm sysconf 31*3fe5961aSDevin Teske.Cm sysctl 32*3fe5961aSDevin Teske.Op Fl E 33*3fe5961aSDevin Teske.Op Fl k Ar module 34*3fe5961aSDevin Teske.Fl l | L 35*3fe5961aSDevin Teske.Sh DESCRIPTION 36*3fe5961aSDevin TeskeThe 37*3fe5961aSDevin Teske.Cm sysctl 38*3fe5961aSDevin Tesketarget of 39*3fe5961aSDevin Teske.Xr sysconf 8 40*3fe5961aSDevin Teskereads and modifies 41*3fe5961aSDevin Teske.Xr sysctl.conf 5 42*3fe5961aSDevin Teskeconfiguration. 43*3fe5961aSDevin TeskeShared assignment syntax and options are documented in 44*3fe5961aSDevin Teske.Xr sysconf 8 ; 45*3fe5961aSDevin Teskemulti-file write policy in 46*3fe5961aSDevin Teske.Xr sysconf-targets 8 . 47*3fe5961aSDevin Teske.Pp 48*3fe5961aSDevin TeskeThe stock file list is 49*3fe5961aSDevin Teske.Pa /etc/sysctl.conf , 50*3fe5961aSDevin Teske.Pa /etc/sysctl.conf.local , 51*3fe5961aSDevin Teskethen 52*3fe5961aSDevin Teske.Pa /etc/sysctl.kld.d/ Ns Ar module Ns Pa .conf 53*3fe5961aSDevin Teskewhen 54*3fe5961aSDevin Teske.Fl k Ar module 55*3fe5961aSDevin Teskeis given 56*3fe5961aSDevin Teske.Pq applied by Xr rc.subr 8 when the module loads . 57*3fe5961aSDevin Teske.Pp 58*3fe5961aSDevin TeskeValues are quoted on write only when the value requires it 59*3fe5961aSDevin Teske.Pq embedded whitespace . 60*3fe5961aSDevin Teske.Pp 61*3fe5961aSDevin TeskeWhen writing to the running system, 62*3fe5961aSDevin Teskeeach 63*3fe5961aSDevin Teske.Ar name Ns = Ns Ar value 64*3fe5961aSDevin Teskeis validated against the kernel's sysctl tree first. 65*3fe5961aSDevin TeskeAn OID that cannot be set at run time 66*3fe5961aSDevin Teske.Pq non-leaf, read-only, or loader-only tunable 67*3fe5961aSDevin Teskeis reported and skipped, 68*3fe5961aSDevin Teskewhile the remaining assignments are still applied. 69*3fe5961aSDevin TeskeIn particular, 70*3fe5961aSDevin Teskea loader-only tunable is reported as requiring the 71*3fe5961aSDevin Teske.Cm loader 72*3fe5961aSDevin Tesketarget instead 73*3fe5961aSDevin Teske.Pq see Xr sysconf-loader 8 . 74*3fe5961aSDevin TeskeNumeric values are also checked against the OID's 75*3fe5961aSDevin Teske.Dv CTLTYPE 76*3fe5961aSDevin Teske.Po 77*3fe5961aSDevin Teske.Dv CTLTYPE_INT , 78*3fe5961aSDevin Teske.Dv CTLTYPE_U64 , 79*3fe5961aSDevin Teskeand the other integer widths 80*3fe5961aSDevin Teske.Pc 81*3fe5961aSDevin Teskeso an overflowing or non-numeric assignment cannot land in 82*3fe5961aSDevin Teske.Xr sysctl.conf 5 83*3fe5961aSDevin Teskeand fail 84*3fe5961aSDevin Teske.Pq or apply truncated 85*3fe5961aSDevin Teskewhen 86*3fe5961aSDevin Teske.Xr sysctl 8 87*3fe5961aSDevin Teskeloads the file at boot. 88*3fe5961aSDevin Teske.Pp 89*3fe5961aSDevin TeskeAn unknown OID 90*3fe5961aSDevin Teske.Pq often from a module that is not yet loaded 91*3fe5961aSDevin Teskeis reported with a warning but still written, 92*3fe5961aSDevin Teskematching how 93*3fe5961aSDevin Teske.Xr init 8 94*3fe5961aSDevin Tesketreats such lines in 95*3fe5961aSDevin Teske.Xr sysctl.conf 5 ; 96*3fe5961aSDevin Teske.Fl i 97*3fe5961aSDevin Teskeand 98*3fe5961aSDevin Teske.Fl q 99*3fe5961aSDevin Teskesuppress that warning. 100*3fe5961aSDevin TeskeValidation is skipped entirely under 101*3fe5961aSDevin Teske.Fl R , 102*3fe5961aSDevin Teskewhere the target system's kernel is not the running kernel. 103*3fe5961aSDevin Teske.Pp 104*3fe5961aSDevin Teske.Fl d 105*3fe5961aSDevin Teskedescriptions for this target come from the running kernel 106*3fe5961aSDevin Teske.Pq as with Xr sysctl 8 Fl d , 107*3fe5961aSDevin Teskenot from a defaults file. 108*3fe5961aSDevin Teske.Sh FILES 109*3fe5961aSDevin Teske.Bl -tag -width "/etc/sysctl.conf.local" -compact 110*3fe5961aSDevin Teske.It Pa /etc/sysctl.conf 111*3fe5961aSDevin TeskeWrite target for new directives. 112*3fe5961aSDevin Teske.It Pa /etc/sysctl.conf.local 113*3fe5961aSDevin TeskeSite-local overrides. 114*3fe5961aSDevin Teske.It Pa /etc/sysctl.kld.d/ 115*3fe5961aSDevin TeskeModule-specific drop-ins 116*3fe5961aSDevin Teske.Pq see Fl k . 117*3fe5961aSDevin Teske.El 118*3fe5961aSDevin Teske.Sh EXAMPLES 119*3fe5961aSDevin Teske.Dl sysconf sysctl kern.maxfiles=65536 120*3fe5961aSDevin Teske.Dl sysconf sysctl -F vfs.usermount 121*3fe5961aSDevin Teske.Dl sysconf sysctl -d kern.maxfiles 122*3fe5961aSDevin Teske.Dl sysconf sysctl -L 123*3fe5961aSDevin Teske.Dl sysconf sysctl -LE 124*3fe5961aSDevin Teske.Dl sysconf sysctl -k ipfw net.inet.ip.fw.verbose=1 125*3fe5961aSDevin Teske.Dl sysconf -x sysctl vfs.usermount 126*3fe5961aSDevin Teske.Dl sysconf -j www sysctl kern.ipc.somaxconn=1024 127*3fe5961aSDevin Teske.Pp 128*3fe5961aSDevin TeskeAn overflowing assignment is refused before the file is touched 129*3fe5961aSDevin Teske.Pq here an integer OID given a value beyond INT_MAX : 130*3fe5961aSDevin Teske.Pp 131*3fe5961aSDevin Teske.Dl sysconf sysctl security.bsd.see_other_uids=99999999999 132*3fe5961aSDevin Teske.Sh SEE ALSO 133*3fe5961aSDevin Teske.Xr sysctl.conf 5 , 134*3fe5961aSDevin Teske.Xr sysconf 8 , 135*3fe5961aSDevin Teske.Xr sysconf-loader 8 , 136*3fe5961aSDevin Teske.Xr sysconf-targets 8 , 137*3fe5961aSDevin Teske.Xr sysctl 8 138*3fe5961aSDevin Teske.Sh HISTORY 139*3fe5961aSDevin TeskeThe 140*3fe5961aSDevin Teske.Nm sysconf 141*3fe5961aSDevin Teskeutility first appeared in 142*3fe5961aSDevin Teske.Fx 16.0 . 143*3fe5961aSDevin Teske.Sh AUTHORS 144*3fe5961aSDevin Teske.An Devin Teske Aq Mt dteske@FreeBSD.org 145*3fe5961aSDevin Teske.An Faraz Vahedi Aq Mt kfv@FreeBSD.org 146