Править пакетный unit на сервере — закладывать отказ до следующего обновления. Типовой сценарий: подняли LimitNOFILE прямо в /usr/lib/systemd/system/worker.service, забыли. Пакет заменил файл, после перезапуска демон получил меньший лимит. Мониторинг показывает таймауты и ошибки прокси. Диагноз «сеть деградировала» удобен, но ядро возвращает EMFILE при попытке открыть очередной дескриптор. Сначала проверяем источник конфигурации: systemctl cat worker.service и systemctl show worker.service -p FragmentPath -p DropInPaths -p LimitNOFILE -p LimitNOFILESoft. Затем живой процесс: pid=$(systemctl show worker.service -p MainPID --value); cat /proc/$pid/limits; ls -1 /proc/$pid/fd | wc -l. PID должен быть ненулевым; для многопроцессного сервиса проверяем и workers. Число открытых FD сопоставляем с мягким лимитом процесса. /proc/sys/fs/file-nr показывает системный учёт файловых объектов: свободный запас там не исключает EMFILE. Исчерпание общесистемного лимита — другая ошибка, ENFILE. Исправл...

Править пакетный unit на сервере — закладывать отказ до следующего обновления. Типовой сценарий: подняли LimitNOFILE прямо в /usr/lib/systemd/system/worker.service, забыли | Сетка — социальная сеть от hh.ru