The command-line interface for reading and writing kernel parameters exposed under /proc/sys.
sysctl is a friendlier front-end over a specific subset of /proc — everything under /proc/sys/ — that exposes kernel parameters using dotted names (vm.swappiness, net.core.somaxconn) instead of raw file paths. Underneath, sysctl vm.swappiness is just reading /proc/sys/vm/swappiness; the tool exists mainly for convenience and validation.
These parameters cover memory management, networking stack behavior, filesystem limits, and kernel security settings — the kind of low-level tuning that matters on high-traffic servers but rarely needs touching on a laptop.
A value set with sysctl -w takes effect immediately but only lasts until reboot — it's a runtime-only change. To make it survive a reboot, the same setting has to be written into a config file under /etc/sysctl.d/ (or the older /etc/sysctl.conf), which gets replayed automatically at boot.
sysctl -p (or sysctl --system on newer systems) reloads all the persistent config files without a reboot — the standard way to apply a tuning change everywhere at once, including the file, in one step.
sysctl -w during an incident, fixing the problem, and forgetting to persist it — the fix silently disappears at the next reboot.