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

38

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

Среда:

  • Latest Tomcat 6
  • Windows Server 2008 R2
  • JDK 6 update 30
  • SQL Server 2008
  • Kerberos authentication

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

  • netstat shows no excessive amount of connections
  • ProcessExplorer shows no excessive amount of open file handles
  • system main memory usage is average
  • JVM heap usage is average
  • restarting Tomcat does not solve the problem

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

  • if we were leaking connections, shouldn't they show up in netstat?
  • shouldn't a restart of the appserver resolve the problem, because the OS should free all process resources?
  • is there a way to trace the problem to its origin? E.g. installing monitoring software, maybe something similar to lsof etc.?

Я вне идей, любые советы приветствуются!

Есть много вопросов, похожих на ваш, пожалуйста, сначала выполните поиск и проверьте их. Some programmer dude
Я сделал, поверь мне. Ни один из них не помог решить мою проблему, потому что я не вижу ни одного из симптомов, которые я должен видеть, и ни один из них не содержит подсказок, как определить источник проблемы. Michael Böckling

Ваш Ответ

3   ответа
1

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

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

Error: User Rate Limit Exceeded Michael Böckling
11

7 и у меня были те же симптомы и ошибки.

Проблема была исправлена с помощью патча Microsoft: & quot;Kernel sockets leak on a multiprocessor computer that is running Windows Server 2008 R2 or Windows 7& Quot; (http://support.microsoft.com/kb/2577795) (т. е. ответ Buddy Casino (см. ниже)).

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

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

Еще раз спасибо ответу Buddy Casino.

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

Error: User Rate Limit Exceeded
56

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

@Buddy_Casino, я также получаю эту ошибку, и все мои кеш-хранилища находятся на серверах Win 2008 R2. Я хочу спросить вас, как был сделан этот вывод?
Мы используем Windows Server 2012 и до сих пор сталкиваемся с этой проблемой. Есть ли какое-то другое решение для этого? Или вопрос совершенно другой?
Я возможно только что испытал это. Эта ошибка все еще существует в 2014 году, и исправление не было добавлено ни в какое обновление?

Похожие вопросы