- 0
[5.2 Beta 2] Nginx рост fd на разбор /etc/uag.json
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.
Вопрос
hoaxisr
nginx теряет файловый дескриптор /etc/uag.json на каждый reload
Прошивка: KeeneticOS 5.2 Beta 2 (5.02.B.2.0-2).
Проверено: Ultra KN-1810 (mipsel). С той же прошивкой и на Netcraze Ultra NC-1812 поведение аналогичное.
При каждой перезагрузке конфигурации nginx оставляет открытым ещё один дескриптор файла /etc/uag.json. Дескрипторы не освобождаются до перезапуска nginx. При мягком лимите 1024 веб-сервер примерно через тысячу перезагрузок исчерпывает дескрипторы.
Воспроизведение. Через entware (но можно просто создавать/удалять интерфейсы). Посторонние программы не нужны и они не установлены для воспроизведения.
Каждый kill -HUP увеличивает счётчик на 1.
Лимит: Max open files 1024 / 4096.
при 1023 FD, из них 985 на /etc/uag.json; nginx перестает отвечать, возвращает 504 на /system. Перезапуск nginx сбрасывает счётчик, затем рост повторяется.
В сгенерированном nginx.conf есть директива user_agent_db /etc/uag.json. Возможно обработчик этой директивы открывает файл при разборе конфигурации и не закрывает его, а при reload разбор выполняется заново?
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.