Привет, у меня очень неприятная проблема с:
java.net.SocketException: нет свободного места в буфере (достигнуто максимальное количество соединений?)
Это клиент-серверное приложение. Клиент - Windows XP SP2 32b, с двумя сетевыми картами Core Duo. Java 1.6.
u7.
Приложение имеет пару сокетов сервера, открытых для локальной связи, и пару сокетов клиента для rmi к серверу jboss.
Через пару часов / дней! Я не могу открыть новый клиентский сокет для связи с сервером. Серверные сокеты все еще работают.
Windows netstat показывает что-то от 130 до 150 соединений. При попытке вручную я исчерпал буфер после ~ 3500 соединений!
Я пытался:
проверяйте каждую используемую нами розетку, чтобы она также закрывалась.
запустить netstat в фоновом режиме для отслеживания открытых соединений
запустить проверку на вирусы, чтобы найти любую вредоносную программу
обновление Java до 1.6 u16
отключить второй сетевой интерфейс
После перезапуска Java я могу открыть новое соединение.
Всего исключений:
cause:javax.naming.CommunicationException: Failed to connect to server IP:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server IP:1099 [Roo
t exception is java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind]]
2009-08-03 09:13:18,968 DEBUG [Thread-9] - stack trace:
2009-08-03 09:13:18,968 DEBUG [Thread-9] - org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562)
2009-08-03 09:13:18,968 DEBUG [Thread-9] - org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
2009-08-03 09:13:18,968 DEBUG [Thread-9] - org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
2009-08-03 09:13:18,968 DEBUG [Thread-9] - javax.naming.InitialContext.lookup(Unknown Source)
- отредактированный
Мы наконец-то столкнулись с проблемой неисправности сервера snmp. Я написал свои заметки в комментариях ниже. Спасибо за помощь.