Tenemos una instancia de Solr 3.4 ejecutándose en Windows 2008 R2 con Oracle Java 6 Hotspot JDK que deja de responder. Cuando miramos la máquina, notamos que la memoria física disponible se fue a cero.Solr usa demasiada memoria
El proceso Tomcat7.exe estaba usando ~ 70Gigs (Private Working Set) pero Working Set (Memory) estaba usando toda la memoria del sistema. No hubo errores en los registros de Tomcat/Solr. Usamos VMMap para identificar que la memoria se estaba utilizando para mapear la memoria de los archivos de secuencia de Solr.
Reiniciar Tomcat solucionó el problema temporalmente, pero finalmente regresó.
Intentamos disminuir el tamaño de JVM para dar más espacio a los archivos mapeados en la memoria, pero luego el Solr finalmente deja de responder con la generación anterior al 100%. Nuevamente, el restablecimiento solucionó el problema, pero no arrojó una excepción de falta de memoria antes de reiniciar.
Actualmente nuestro sentido spidey nos dice que la memoria caché no se contrae cuando hay presión de memoria, y que tal vez haya demasiados MappedByteBuffers dando vueltas para que el sistema operativo no pueda liberar la memoria de los archivos mapeados en la memoria.
¿Está utilizando la extracción de contenido con Tika/Solr celular o el uso de algún tipo de clasificación en las consultas? –
Curioso en cuanto a la versión de JVM que estaba usando. 6u17 y anteriores tienen varios problemas desagradables JIT y GC. –
¿qué tipo de datos está indexando? – sidgate