Свои потолки есть и у самого ядра. Их и другие настройки ядра меняют на ходу — это параметры ядра.
Параметр — число или флаг: сколько наблюдений за файлами выдать пользователю, пересылать ли пакеты между сетями, как охотно уходить в swap. Каждый параметр — файл в /proc/sys, а имя через точки повторяет путь к нему: fs.inotify.max_user_watches — это /proc/sys/fs/inotify/max_user_watches. Читает и меняет параметры команда sysctl.
Попробуй поменять параметр
Прочитай параметр fs.inotify.max_user_watches командой sysctl и как файл в /proc/sys, потом попробуй поставить ему 65536 без sudo и прочитай снова.
Сначала предположи
Ты меняешь параметр командой sysctl -w без sudo. Что она напечатает?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.
Читать параметры может любой, менять — только root: sudo sysctl -w <имя>=<значение>. Отказ sysctl -w без sudo возвращает код 0, поэтому в скрипте его легко пропустить: значение проверяй отдельной командой (см. sysctl).
Значение, поставленное sysctl -w, живёт до перезагрузки. При старте ядро начинает со своих значений, и правка руками пропадает.