В Linux за поведение системы отвечает куча параметров ядра. Иногда надо включить что-то нужное — например, волшебный SysRq или увеличить лимит подключений. Все это можно сделать прямо на работающей системе — без перезагрузки.

Просмотр всех параметров ядра

Чтобы вытащить список всех параметров и их текущие значения, используй:

sysctl -a 

В ответ получишь гигантский список типа:

abi.vsyscall32 = 1 debug.exception-trace = 1 debug.kprobes-optimization = 1
...

Если хочешь посмотреть конкретный параметр, просто передай его имя, например:

sysctl vm.swappiness

Результат:

vm.swappiness = 60 

Это значение показывает, как агрессивно система будет использовать своп.

Откуда sysctl берёт данные?

Все параметры лежат в виртуальной файловой системе /proc/sys. Команда sysctl — просто удобный интерфейс, который заменяет слеши на точки. Например:

sysctl vm.swappiness

и

cat /proc/sys/vm/swappiness

покажут одно и то же.

Изменение параметров на лету

Чтобы изменить параметр прямо сейчас, используй:

sysctl -w parameter=value 

Если значение сложное или с пробелами — бери его в кавычки. Можно менять сразу несколько параметров:

sysctl -w net.ipv4.ip_forward=1 net.ipv4.conf.all.accept_redirects=0 

Например, чтобы включить пересылку пакетов IPv4, сделай так:

sysctl -w net.ipv4.ip_forward=1 

Изменение сразу вступит в силу, но... после перезагрузки оно исчезнет, вернётся к дефолту.

Как сохранить настройки навсегда?

Пиши параметры в файл /etc/sysctl.conf или отдельный конфиг в /etc/sysctl.d/.

Чтобы добавить параметр в конфиг, например:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

Или создай свой файл:

/etc/sysctl.d/99-custom.conf

с нужными параметрами.

После этого чтобы применить конфиги сразу, не перезагружаясь, запускай:

sysctl -p /etc/sysctl.conf

или

sysctl -p /etc/sysctl.d/99-custom.conf

Альтернативный способ — писать напрямую в /proc/sys

Можно изменить параметр, просто записав значение в соответствующий файл:

echo 1 > /proc/sys/net/ipv4/ip_forward

Это эквивалентно sysctl -w, только чуть менее удобно.

Итог

sysctl — это простой и мощный инструмент для просмотра и мгновенного изменения настроек ядра Linux. Это удобно, если нужно быстро подстроить систему под конкретные задачи, не перезагружая сервер. А чтобы изменения не пропадали при ребуте — надо прописывать их в конфигах.