Проблема с утечкой TCP-соединения - PullRequest
2 голосов
/ 25 мая 2020

Наблюдал за проблемой, при которой система выкидывает - «слишком много открытых файлов» после нормальной работы в течение нескольких часов.
Замечено, что многие TCP-соединения застряли в состоянии "CLOSE_WAIT".
sudo lsof | grep ": http (CLOSE_WAIT)" | w c -l -> 16215.
Число увеличивается со временем, и через несколько часов оно превысит максимально допустимый предел.

Также была выполнена команда netstat -
" netstat -ant | awk '{print $ 6}' | sort | uniq - c | sort -n " и вывод -> 122 CLOSE_WAIT.

  1. Почему вывод команды netstat намного ниже, чем вывод команды lsof. Оба возвращают соединения с близким ожиданием и должны дать примерно одинаковое значение.

  2. Как только я узнал, что соединение с указанной службой c вызывает эту проблему, что мне делать, чтобы идентифицировать точный код, где это происходит? Я просмотрел клиентский код для подключения к службе, и я не вижу утечки подключения.

...