The Dashboard You Didn't Know You Had
Most people treat the Linux kernel like a household appliance: you plug it in, it works, and you never open the back panel. In reality, the kernel exposes thousands of tunable parameters that you can modify at runtime — no reboot required. Think of it like a car's ECU (Engine Control Unit): the engine is running, but you can still adjust fuel injection timing, idle speed, and throttle response through a diagnostic port.
This interface is the /proc/sys/ virtual filesystem. It is not a real directory on disk — it exists only in memory, generated by the kernel on demand. Every file inside it represents a live kernel parameter. Reading the file reads the current value; writing to it changes the kernel's behavior immediately.
You can modify these values in two equivalent ways: writing directly to the virtual file under /proc/sys/, or using the sysctl command, which is the preferred, safer method. sysctl translates dot-notation (vm.swappiness) to the filesystem path (/proc/sys/vm/swappiness) automatically, and it validates the value before writing, which prevents you from accidentally writing garbage to a kernel parameter.
Changes made this way are ephemeral — they vanish on reboot. To make them permanent, you write the same dot-notation parameters into a drop-in file under /etc/sysctl.d/ (or the legacy /etc/sysctl.conf), then apply every file in that directory without rebooting using sysctl --system. That flag reads all configuration files in the standard locations in priority order. Files in /etc/sysctl.d/ with higher numbers override lower ones, and all of them override /etc/sysctl.conf. This lets you ship a base configuration and layer environment-specific overrides cleanly.
Interviewers often ask: "How do you make a sysctl change survive a reboot?" The wrong answer is "write it to /proc/sys/." The correct answer is to write it to /etc/sysctl.d/99-something.conf and apply with sudo sysctl --system. Bonus points for explaining the priority order of files in that directory.