Подтвердить что ты не робот

Java.net.SocketException: нет свободного места в буфере (достигнуто максимальное количество подключений?): JVM_Bind

Tomcat запускает webapp под Windows. Через несколько дней (при очень низкой нагрузке) исключение, указанное в заголовке, начинает появляться в журналах, никаких новых подключений не может быть установлено с этой точки, единственное исправление заключается в перезагрузке сервера.

Окружающая среда:

  • Последний Tomcat 6
  • Windows Server 2008 R2
  • Обновление JDK 6 30
  • SQL Server 2008
  • Аутентификация Kerberos

Доказательства, собранные до сих пор:

  • netstat не показывает чрезмерного количества подключений
  • ProcessExplorer не показывает чрезмерного количества дескрипторов открытого файла.
  • Использование основной памяти системы в среднем
  • Использование кучи JVM в среднем
  • перезапуск Tomcat не решает проблему

Открытые вопросы:

  • Если бы мы протекали соединения, не должны ли они отображаться в netstat?
  • не следует перезапуска сервера приложений разрешать проблему, потому что ОС должна освобождать все ресурсы процесса?
  • Есть ли способ проследить проблему до ее возникновения? Например. установка программного обеспечения для мониторинга, возможно, что-то похожее на lsof и т.д.?

У меня нет идей, любые подсказки оценены!

4b9b3361

Ответ 1

Причина, по которой мы получили эту ошибку, - это ошибка в Windows Server 2008 R2/Windows 7. Ядро утечки из шлейфов из-за состояния гонки на машинах с несколькими ядрами, этот патч исправляет проблему: http://support.microsoft.com/kb/2577795

Ответ 2

Я запускал Alfresco Community 4.0d на Windows 7 64 бит и имел те же симптомы и ошибки.

Проблема исправлена ​​с исправлением Microsoft: " утечки ячеек ядра на многопроцессорном компьютере под управлением Windows Server 2008 R2 или Windows 7" (http://support.microsoft.com/kb/2577795) (т.е. ответ "Бадди Казино" (см. ниже)).

Еще одно замечание, которое я хотел бы добавить, заключается в том, что соединения Windows (Internet Explorer, Remote Desktop и т.д.) будут работать снова через 5-10 минут после отключения служб Alfresco.

Alfresco - отличный продукт, и я боялся, что мне придется его отказаться. К счастью, stackoverflow пришел на помощь!

Еще раз спасибо Бадди Казино.

Boo человеку, который проголосовал за вопрос.

Ответ 3

Мы видим то же самое на аналогичной установке, W2008R2, Tomcat 6.0.29, Java 1.6.0.25. Перезапуск tomcat не помогает, но перезапуск сервера сам по себе, по крайней мере на некоторое время. После того, как мы в последний раз начали закрывать отдельные сервисы и считаем, что мы сузились к экземпляру Alfresco, который также работает на сервере или службах Backup Exec Agent. После того, как эти службы (четыре в целом) были остановлены, приложения в Tomcat снова начали работать, хотя мы все еще видели ошибку в буфере/соединениях в журнале stdout, что было странно. Придется ждать, пока проблема вернется, прежде чем подтвердить, кто является виновником, который может быть от нескольких дней до недели или более.

Есть ли вероятность, что на сервере вы используете Alfresco или BE?