Назад | Перейти на главную страницу

Повышение ограничений на файлы для службы, а не для пользователя

Я видел здесь различные сообщения о повышении лимита открытых файлов в системах Linux для конкретных пользователей (что выполняется разными способами в зависимости от обсуждаемого дистрибутива Linux).

У меня есть сервер Ubuntu 8.04.4 LTS, на котором запущен Dovecot, от имени пользователя dovecot;

ps aux | grep dovecot
dovecot    473  0.0  0.0  14320  2152 ?        S    12:11   0:00 imap-login
dovecot   1619  0.0  0.0  14324  2096 ?        S    Jan25   0:05 imap-login
dovecot   2652  0.0  0.0  14180  1892 ?        S    13:44   0:00 pop3-login
dovecot   3627  0.0  0.0  14180  1892 ?        S    14:13   0:00 pop3-login
dovecot   3776  0.0  0.0  14180  1892 ?        S    14:16   0:00 pop3-login
dovecot   4056  0.0  0.0  14320  2112 ?        S    14:19   0:00 imap-login
.....

ps aux | grep dovecot | wc
    178

Как я могу увеличить лимит открытых файлов для службы? Могу ли я выполнить те же действия по увеличению пределов использования для пользователя, от имени которого работает служба?

Итак, в этой системе я мог бы увеличить лимит в /etc/security/limits.conf для пользователя dovecot, но как это будет относиться к моей службе. Нужно ли мне перезапускать службу, чтобы новые настройки вступили в силу, или при появлении новых процессов они унаследуют новые настройки?

Я не понимаю, как изменение этого лимита повлияет на долго работающую службу, а не на пользователя, который входит в систему и выходит из нее.

Для CentOS 7 (и я предполагаю, что любые другие системные преобразователи) вам необходимо отредактировать служебный файл. Вы можете использовать это, чтобы просто переопределить служебный файл, чтобы он был безопасным для обновления:

systemctl edit dovecot.service

А затем добавьте:

[Service]
LimitNOFILE=4096

Измените 4096 на все, что хотите.

«Выполняю ли я те же действия для увеличения пределов использования в отношении пользователя, от имени которого работает служба?» - Да. Служба работает в соответствии с ограничениями пользователя, поэтому после повышения ограничений и перезапуска службы у нее будут новые ограничения.