CPU свободен, а сервис не принимает соединения
CPU свободен, а сервис не принимает соединения В журнале: accept: Too many open files Возможная причина — процесс достиг RLIMIT_NOFILE. Файловый дескриптор — это не только файл. Лимит расходуют socket, pipe, epoll, eventfd, inotify и другие ресурсы процесса. Проверьте фактический лимит: cat /proc/<pid>/limits Затем число открытых FD: ls /proc/<pid>/fd | wc -l Не ориентируйтесь только на ulimit -n в shell. У systemd-сервиса может быть свой LimitNOFILE. Дальше важна динамика: FD растут с нагрузкой и освобождаются → возможно, лимит мал FD растут и не возвращаются → возможна утечка Посмотрите, что накапливается: socket, pipe, anon_inode, файлы или соединения. Типичная ошибка — сразу повысить LimitNOFILE. При утечке это только отложит повторный отказ. Различайте: EMFILE — лимит процесса ENFILE — системный предел Сохраните порядок проверки: лимит процесса → фактическое число FD → динамика → источник утечки → настройки unit. #УЦФОРС #Linux #DevOps #Systemd #Эксплуатация