Thank you for reading this post, don't forget to subscribe!
«Too many open files»(Слишком много открытых файлов) на сервере с высокой нагрузкой. Это означает, что сервер исчерпывает ресурс на максимальный предел открытых файлов (max open file limit).
Увеличить Max Open File Limit в Linux
Для начала проверим какой предел установлен в ОС:
Мы можем увеличить лимиты для открытых файлов:
- Временно.
- Постоянно.
==ВРЕМЕННО==
Если есть необходимость увеличить лимит временно (для тестирования, например), то можно это сделать так:
# sysctl -w fs.file-max=500000
Если есть необходимость увеличить лимит навсегда, то можно это сделать так:
Используйте следующую команду, чтобы увидеть максимальное чисто для открытых файлов:
# cat /proc/sys/fs/file-max
Увеличюем nginx worker_rlimit_nofile в nginx ( на уровне Nginx)
В nginx также можно увеличить лимиты с директивой worker_rlimit_nofile, которая позволяет увеличить этот лимит, если это не хватает данного ресурса на лету на уровне процесса:
Save and close the file. Reload nginx web server, enter:
Включение ограничений на основе PAM в Unix/Lixux
Редактируем файл
Прописываем лимиты:
* soft nofile 65536
* hard nofile 200000
И выполняем рестарт:
# reboot