Задать вопрос
darkslesh
@darkslesh

Большое кол-во CLOSE_WAIT в Linux

Собственно говоря ситуация следующая. Есть самописный софт обрабатывающий клиентские запросы. Любое завершение сессии работы с клиентов организовано через:
shutdown(sock, SHUT_RDWR);
close(sock);

И со временем на сервере накапливается огромное кол-во соединений со статусом CLOSE_WAIT (до 90 тысяч штук). В чем может быть проблема? shutdown или в каких-то специфических настройках системы? И есть ли возможно организовать автоматической убийство таких висящих соединений (допустим по таймауту)?
  • Вопрос задан
  • 19034 просмотра
Подписаться 3 Оценить Комментировать
Ответ пользователя rimidal К ответам на вопрос (4)
rimidal
@rimidal
Таймаут CLOSE_WAIT в линуксе не регулируется.
Состояние сокета CLOSE_WAIT — это когда от удаленной стороны прилетел fin, а локальный сокет еще удерживается программой, и еще не послал свой fin в ответ.
Ищите в своем софте почему сокет не отпускается.
Ответ написан
Комментировать