SYSCTL.CONF(5)
๐ SYSCTL.CONF ๐
okay bestie, so this is a file formats manual page โ the SYSCTL.CONF(5) one โ and it's literally the blueprint for how you tell your Linux kernel what it should be doing. no cap.
โจ NAME โจ
sysctl.conf โ Linux kernel configuration parameters ๐
๐ธ DESCRIPTION ๐ธ
sysctl.conf is a whole set of configuration files, and they contain Linux kernel configuration parameters โ the ones that get read and set by sysctl(8). it's giving "kernel settings, but make it a text file". ๐
This man page is specifically about the configuration files for procps sysctl. So if you're out here using systemd-sysctl(8) instead, go read sysctl.d(5) โ and heads up, queen, it won't use the file /etc/sysctl.conf. different implementation, different rules. ๐ฆ
๐ Configuration Format
Each line of a file that procps sysctl reads describes a kernel parameter, and it looks like this:
token = value
and no โ you do not need quotation marks around value, even when value is a whole list of items. the file just gets it. iconic. โจ
Blank lines? ignored. Lines that start with # or ;? also ignored. those are your comment lines, bestie. ๐
and here's a lil trick: if a line begins with a single -, then a failing attempt to set the value is ignored. so it's like "try it, but don't be dramatic if it doesn't work". ๐
๐๏ธ FILES ๐๏ธ
procps sysctl, when you run it with the --system option, reads files from these directories โ in this exact order, no skipping, no shuffling:
/etc/sysctl.d/*.conf
/run/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
and finally, procps sysctl reads /etc/sysctl.conf. ๐
โ ๏ธ that last file is not used bysystemd-sysctlโ which means some kernel parameters are just not set, depending on which implementation ofsysctlyou have installed. so like, know which one you're running, fr fr. ๐ญ
๐ BUGS ๐
The maximum supported length of value is 4096 characters, because of a limitation on /proc entry length in the Linux kernel. so don't go writing a whole novel in there, bestie. 4096 and that's it. periodt.
๐ EXAMPLES ๐
#
#
kernel.domainname = example.com
; A value containing a space is written to the sysctl.
kernel.modprobe = /sbin/mod probe
# A list of items for the value
net.ipv4.ip_local_reserved_ports=8080,9148
look at that โ comments, a value with a space in it, and a whole comma-separated list. all three vibes, one file. ate. ๐ฅ
๐ SEE ALSO ๐
sysctl.d(5), sysctl(8), systemd-sysctl(8)
and that's the whole page, bestie ๐ซถ this was procps-ng, dated 2025-05-29, and you're officially a SYSCTL.CONF(5) girlie now. go set some kernel parameters. slay. ๐โจ๐
๐ฆ where this page comes from
- alpine 3.24: procps-ng-doc 4.0.6-r0 ยท GPL-2.0-or-later AND LGPL-2.1-or-later
- arch rolling: procps-ng 4.0.7-1 ยท GPL AND LGPL
- fedora 44: procps-ng 4.0.6-1.fc44 ยท GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later
- fedora 44: procps-ng 4.0.6-1.fc44 ยท GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later
- nixos 26.05: procps 4.0.6
- nixpkgs unstable: procps 4.0.7
- ubuntu stonking: procps 2:4.0.6-3ubuntu1 ยท LGPL-2.1-or-later
- Copyright (c) 2016-2023 Jim Warner <james.warner@comcast.net>
- Copyright (c) 2019-2025 Craig Small <csmall@dropbear.xyz>
- Copyright (c) 2011-2012 Sami Kerola <kerolasa@iki.fi>
- Copyright (c) 1999 George Staikos <staikos@0wned.org>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms