Назад | Перейти на главную страницу

CLOSE_WAIT поддерживает процесс в окнах

У меня есть несколько Java-процессов, запущенных на сервере Windows. Я заметил, что время от времени, когда я пытаюсь убить процесс, он остается живым. Причина, похоже, связана с сокетами в CLOSE_WAIT, связанными с процессом.

Есть идеи, почему некоторые сокеты остаются в CLOSE_WAIT после того, как я пытаюсь убить процесс?

Спасибо

Одна идея - вам нужно настроить параметры TCP, совсем не знакомые с окнами, но обычно вы хотите TIME_WAIT или CLOSE_WAIT интервал короче, поэтому соединения не задерживаются так долго. На загруженном сервере сокеты накапливаются на вас в CLOSE_WAIT попасть в десятки тысяч и потреблять ресурсы без нужды ... Вы можете обнюхать интерфейс, winpcap и т. д. и посмотреть, отправляется ли плавник, правильное (без сброса) закрытие должно выглядеть так:

TCP: .... 0... = (No push)
TCP: .... .0.. = (No reset)
TCP: .... ..0. = (No SYN)
TCP: .... ...1 = FIN

Вы можете отслеживать или связывать приложение, например, если оно использует closesocket(), убедитесь, что ваш rc равен 0 и т. д.

Процесс находится в состоянии непрерывного ожидания из-за проблемы с оборудованием и может потребовать перезагрузки. Это происходит только в том случае, если проблема в оборудовании.

............. Драмил Додежа http://dramildodeja.webnode.com/