2012-04-10 15 views
38

Tomcat está ejecutando una aplicación web bajo Windows. Después de unos días (con muy poca carga), la excepción mencionada en el título comienza a aparecer en los registros, no se pueden establecer nuevas conexiones a partir de ese momento, la única solución es reiniciar el servidor.java.net.SocketException: no hay espacio en el búfer disponible (¿se han alcanzado las conexiones máximas?): JVM_Bind

Medio Ambiente:

  • reciente Tomcat 6
  • Windows Server 2008 R2
  • JDK 6 Update 30
  • SQL Server 2008
  • autenticación Kerberos

Las pruebas reunidas hasta el momento :

  • netstat muestra ninguna cantidad excesiva de conexiones
  • ProcessExplorer muestra ninguna cantidad excesiva de archivo abierto
  • sistema de uso de la memoria principal es la media
  • JVM uso del montón es la media
  • Nueva puesta en marcha Tomcat no resuelve el problema

preguntas abiertas:

  • si fuésemos conexiones, ¿no deberían aparecer en netstat?
  • ¿No debería un reinicio del servidor de aplicaciones resolver el problema, porque el sistema operativo debe liberar todos los recursos del proceso?
  • ¿hay alguna manera de rastrear el problema hasta su origen? P.ej. instalar software de monitoreo, tal vez algo similar a lsof, etc.?

¡Ya no tengo ideas, cualquier pista apreciada!

+0

Hay muchas preguntas similares a las suyas, haga una búsqueda y compruébelo primero. –

+5

Lo hice, créeme. Ninguno de ellos ayudó a resolver mi problema, porque no veo ninguno de los síntomas que debería ver, y ninguno de ellos contiene indicios de cómo se puede identificar el origen del problema. –

Respuesta

56

La razón por la que se produjo el error es un error en Windows Server 2008 R2/Windows 7. Las tomas de fugas del núcleo de bucle de retorno debido a una condición de carrera en máquinas con más de un núcleo, este parche corrige el problema: http://support.microsoft.com/kb/2577795

+0

Quizás acabo de experimentar esto. ¿Esta falla persiste en 2014 y la revisión no se agregó a ninguna actualización? –

+2

Estamos usando Windows Server 2012 y aún nos enfrentamos a este problema. ¿Hay alguna otra solución para eso? O el problema es completamente diferente? –

+0

@Buddy_Casino, también recibo este error y todos mis nodos de almacenamiento en caché están en servidores de Win 2008 R2. Quiero preguntarte cómo se llegó a esta conclusión? –

1

Estamos viendo lo mismo en una configuración similar, W2008R2, Tomcat 6.0.29, Java 1.6.0.25. Reiniciar tomcat no ayuda, pero reiniciar el servidor sí lo hace, al menos por un tiempo. Después de la última vez que comenzamos a cerrar servicios individuales y creemos que lo hemos reducido a una instancia de Alfresco que también se ejecuta en el servidor o en los servicios del Agente de Backup Exec. Después de que esos servicios (cuatro en total) se detuvieron, las aplicaciones en Tomcat comenzaron a funcionar nuevamente, aunque todavía estábamos viendo el error de búfer/conexiones en el registro de stdout que era extraño. Tendrá que esperar a que vuelva el problema antes de confirmar cuál es el culpable, que podría ser desde unos pocos días hasta una semana o más.

¿Hay alguna posibilidad de que esté ejecutando Alfresco o BE en su servidor?

+0

De hecho estamos ejecutando Alfresco, pero creo que hemos resuelto esto. Ver mi respuesta –

11

Estaba ejecutando Alfresco Community 4.0d en Windows 7 de 64 bits y tenía los mismos síntomas y errores.

El problema se solucionó con el parche de Microsoft: "tomas Kernel fugas en un equipo multiprocesador que ejecuta Windows Server 2008 R2 o Windows 7" (http://support.microsoft.com/kb/2577795) (es decir, la respuesta de Buddy Casino (ver más abajo).).

Otra observación que me gustaría añadir es que las conexiones de Windows (Internet Explorer, Escritorio remoto, etc.) funcionarían de nuevo unos 5-10 minutos después de que se cerraran los servicios de Alfresco.

Alfresco es un producto excelente y tenía miedo de tener que eliminarlo. ¡Afortunadamente Stackoverflow vino al rescate!

Gracias de nuevo a la respuesta de Buddy Casino.

Abucheo a la persona que rechazó la Pregunta.

+0

Mismo problema en Windows Server 2012 R2. Cualquier parche está disponible para solucionar este problema. El servidor de aplicaciones (jboss) se ve bien, Heap también menos que un promedio. pero en unas horas después de reiniciar el servidor, estoy recibiendo este error en el servidor. Revisé el código y probé localmente, no hay fugas en el código en ejecución. – ilaiya

Cuestiones relacionadas