Некоторым конкретным приложениям или процессам могут потребоваться более высокие значения ресурсов, чем назначенным системным значениям по умолчанию.
Можно переопределить ограничения ресурсов по умолчанию, назначенные systemd.
В основном systemd устанавливает ограничения по умолчанию для любого процесса при его запуске.
Например:
# cat /proc/1696/limits | grep "Max locked memory" Max locked memory 65536 65536 bytes
Метод 1 – глобальное изменение
Измените значение по умолчанию глобально, что означает, что изменения вступят в силу для всех процессов.
Отредактируйте файл /etc/systemd/system.conf и измените значение.
1. Вы можете увидеть, что это значение будет закомментировано, и, следовательно, будет действовать значение по умолчанию 64 КБ.
# cat /etc/systemd/system.conf | grep DefaultLimitMEMLOCK #DefaultLimitMEMLOCK=
# vi /etc/systemd/system.conf DefaultLimitMEMLOCK=128000
Метод 2 – Изменение для конкретной службы или процесса
Если требуется изменить ограничение ресурсов для какого-либо конкретного процесса или приложения, то поможет следующий метод.
1. Измените значение ресурса для любого конкретного процесса / сервиса.
Это можно сделать, отредактировав юнит файл сервиса и добавив в него информацию об ограничении в разделе Service.
Пример для службы «test»
# vi test.service [Unit] Description=TEST SERVICE Wants=network.target network-online.target autofs.service After=network.target network-online.target autofs.service [Service] Type=simple User=farmer ExecStart=/path/to/service/executable <> LimitMEMLOCK=128000 PIDFile=/var/run/test.pid [Install] WantedBy=multi-user.target