Обновленный ответ
Значение по умолчанию для многих параметров ядра sysctl компилируется в само ядро.
Пример: kernel.numa_balancing_scan_delay_ms по умолчанию имеет значение 1000 в ./kernel/sched/fair.c, который загружается в ./kernel/sysctl.c.
Вы можете изменить их во время выполнения с помощью sysctl 3. systemd делает это при загрузке с помощью systemd-sysctl.service начале процесса загрузки.
По некоторым причинам кажется, что вы инициализируете что-то очень рано, что параметр ядра не может быть установлен позже и должен быть установлен при загрузке. Если служба ранней загрузки все еще слишком поздняя и вы не можете допустить, чтобы параметры настройки sysctl слишком поздними, возможно, вы можете установить параметры в boot 2 в строке ядра вашего загрузчика.
Если вы не можете этого сделать, вам может понадобиться скомпилировать собственное ядро 1 со значениями по умолчанию, которые вы хотите.
Из Arch Linux вики:
Есть три способа передать опции ядру и таким образом контролировать его поведение:
- При сборке ядра. Посмотрите Компиляцию Ядра для деталей.
- При запуске ядра (обычно при запуске из загрузчика).
- Во время выполнения (через файлы в
/proc и /sys). Смотрите sysctl для деталей.
Оригинальный ответ
Установите значения в /etc/sysctl.conf или в файле *.conf в /etc/sysctl.d/ .
Как только они установлены, вы можете перезагрузить конфигурацию, запустив sudo sysctl --system .
Дополнительные ресурсы