Выбор ответа Junior Производительность обновлено
Too many open files
Вопрос
Сервис падает с EMFILE: Too many open files. Что проверить первым?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Лимит дескрипторов процесса и сколько открыто. EMFILE значит, что процесс упёрся в свой лимит открытых дескрипторов, в которые входят и сокеты.
Варианты ответа
- Свободное место на диске с данными сервиса (
df -h) - Права на каталог с логами и временными файлами
- Число свободных inode на разделе (
df -i) - Лимит дескрипторов процесса и сколько открытоправильный ответ
Разбор
EMFILE значит, что процесс упёрся в свой лимит открытых дескрипторов, в которые входят и сокеты. Смотрят текущий лимит и сколько реально открыто; если число растёт без остановки, это утечка (не закрываются соединения или файлы). Нехватка места даёт ENOSPC, inode тоже ENOSPC, права EACCES.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.