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

Увеличьте ulimit файла для демона звездочки

Как мне увеличить лимит файлов для демона звездочки на моем компьютере с Ubuntu? Когда я вхожу в систему как root и использую ulimit, он уже говорит без ограничений. Я не могу войти в систему как звездочку, потому что у этого пользователя нет доступа к оболочке, это просто демон.

Я могу видеть в /proc/<asterisk proc id>/limits текущее максимальное количество открытых файлов - 1024. Я хочу удвоить это количество.

Я даже зашел в /etc/security/limit.conf и добавил

asterisk soft nofile 2048
asterisk hard nofile 2048
@asterisk soft nofile 2048
@asterisk hard nofile 2048

ТОГДА перезагружаю сервер. Тем не менее, максимальное количество открытых файлов - 1024.

Что еще я могу сделать?

Вы всегда можете отредактировать /etc/init.d/asterisk файл и добавить ulimit -n 2048 наверх.

Это тот же процесс, который используют MySQL, Varnish и некоторые другие.

У меня была именно эта проблема для тех, кто наткнулся на это в будущем (это хром?)

Система, в которой у меня возникла проблема, была Debian, а не Ubuntu, но, эй, достаточно близко.

Мне пришлось использовать следующее в '/etc/security/limits.conf', чтобы заставить его работать, поскольку указание пользователя и группы не сработало.

*               soft    nofile          10240
*               hard    nofile          10240

Это изменение применяется при повторном входе и выходе.

Конфигурации лучше редактировать в /usr/sbin/safe_asterisk вместо этого при редактировании скрипта init.d.

вы можете установить множество параметров (PRIORITY, SYSMAXFILES, MAXFILES ...). Раскомментируйте SYSMAXFILES и MAXFILES; и увеличивают свои ценности.

В Asterisk 11 (другие не проверял) это устанавливается с помощью maxfiles директива в [general] раздел asterisk.conf. Ни один из других ответов не помог мне в Debian.

Для Asterisk, работающего под управлением systemd (например, в Debian 9), вам необходимо создать файл переопределения systemd:

mkdir /etc/systemd/system/asterisk.service.d/

Создайте /etc/systemd/system/asterisk.service.d/override.conf со следующим содержанием:

[Service]
LimitNOFILE=100000

Перезагрузите агрегат:

systemctl daemon-reload

Перезапустите Asterisk:

systemctl restart astertisk

Проверьте лимит:

cat /proc/<your asterisk PID>/limits | grep '^Max open files'