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

Я видел различные посты о повышении лимита открытых файлов в системах 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, но как это будет относиться к моему сервису. Нужно ли перезапустить службу, чтобы новые настройки вступили в силу, или, когда появятся новые процессы, они наследуют новые настройки?

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

2 ответа

Решение

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

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

systemctl edit dovecot.service

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

[Service]
LimitNOFILE=4096

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

Другие вопросы по тегам