Лимиты накладываемые SystemD — system.conf

Здесь мы разберём лимиты, накладываемые системой SystemD, а для настройки этих лимитов будем править конфиг system.conf и файлы юнитов SystemD.















Введение




Мы уже рассмотрели, как настроить ограничения на общее количество открытых файлов и открытых файлов для процесса. Эти ограничения накладывается ядром и настраивается с помощью конфига sysclt.conf.




Также, рассмотрели ограничения накладываемые подсистемой PAM, которые накладываются на сеанс пользователя.




А теперь рассмотрим, какие лимиты можно задать с помощью системы инициализации SystemD.




В операционных системах с системой инициализации SystemD существует специальный конфиг — /etc/systemd/system.conf. С помощью этого конфига можно настроить ограничения по умолчанию для служб. Но также, ограничения можно задавать в самих файлах юнитов, в секции [Service].




Почитать документацию про system.conf можно здесь, или выполните команду man systemd-system.conf. А вообще, файл system.conf — это основной конфигурационный файл для SystemD.




Возможные ограничения




Когда вы создаёте свой юнит SystemD типа service, то есть службу, то вы можете в секции [Service] задать некоторые ограничения для этой службы. Про такие юниты я писал здесь. Или вы можете ограничить все службы указав общее ограничение в файле system.conf. При этом ограничение в самом юните приоритетнее, чем общее ограничение.




Рассмотрим некоторые из ограничений в таблице ниже.




Описание параметраПараметр в файле юнитаПараметр в файле system.conf
Ограничение в секундах на количество процессорного времени, которое может потреблять процесс. Когда процесс достигает предела, он завершается.LimitCPU=<секунд>DefaultLimitCPU=<секунд>
Максимальный размер файлов, которые может создать процесс. При попытке создать файл большего размера процесс либо завершится, либо обработает ошибку и продолжит работать.LimitFSIZE=<байт>DefaultLimitFSIZE=<байт>
Максимальный размер файла дампа в байтах, который процесс может сохранить. При значении 0 файлы дампа не создаются. Когда он не равен нулю, большие дампы усекаются до указанного размераLimitCORE=<байт>DefaultLimitCORE=<байт>
Максимальное число открытых файловLimitNOFILE=<число>DefaultLimitNOFILE=<число>
Максимальный размер виртуальной памяти процесса (address space). При достижении лимита процесс не может получить память и завершаетсяLimitAS=<байт>DefaultLimitAS=<байт>
Максимальное число процессовLimitNPROC=<число>DefaultLimitNPROC=<число>
Максимальный уровень NICELimitNICE=<уровень>DefaultLimitNICE=<уровень>
Таблица параметров ограничений SystemD









Итог




Мы разобрали возможные лимиты, которые может накладывать система инициализации SystemD на службы и запускаемые службами процессы.










2022-11-09T11:29:21
Администрирование Linux