Por favor, ayúdenme con una situación. Tengo CentOS con 4 GB de RAM con Tomcat configurado con alrededor de 1500MB de memoria. En algunos puntos, mi máquina se cuelga cuando alcanza el máximo de subprocesos configurados en él, es decir, 200. Tenemos que reiniciar el servidor de aplicaciones para que funcione de nuevo. Los parametros son:Problemas de memoria JVM
JAVA_OPTS="-server -Xss128k -Xms2048m -Xmx2048m -XX:MaxPermSize=512m -XX:NewRatio=3 -XX:SurvivorRatio=6 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:CMSInitiatingOccupancyFraction=80 -Dfile.encoding=UTF8"
la JVM detalles mem se pegan a continuación. Montón
PSYoungGen total 435456K, used 73027K [0x00000000e0c00000, 0x00000000fb580000, 0x0000000100000000)
eden space 435200K, 16% used [0x00000000e0c00000,0x00000000e5350c70,0x00000000fb500000)
from space 256K, 0% used [0x00000000fb540000,0x00000000fb540000,0x00000000fb580000)
to space 256K, 88% used [0x00000000fb500000,0x00000000fb538600,0x00000000fb540000)
PSOldGen total 741376K, used 132680K [0x00000000a2400000, 0x00000000cf800000, 0x00000000e0c00000)
object space 741376K, 17% used [0x00000000a2400000,0x00000000aa592030,0x00000000cf800000)
PSPermGen total 22912K, used 22880K [0x0000000092400000, 0x0000000093a60000, 0x00000000a2400000)
object space 22912K, 99% used [0x0000000092400000,0x0000000093a58088,0x0000000093a60000)
Code Cache [0x00002aaaab021000, 0x00002aaaab311000, 0x00002aaaae021000)
total_blobs=1033 nmethods=670 adapters=317 free_code_cache=47372736 largest_free_block=12096
0x00002aaab41b7800 JavaThread ""http-apr-80"-exec-214" daemon [_thread_blocked, id=2636, stack(0x0000000043b06000,0x0000000043b27000)]
¿Existe un componente de programación para esta pregunta, o se trata simplemente de configurar Tomcat? – NPE
También hemos comprobado los componentes que dependen de la programación. Analizó los objetos creados utilizando volcados de pila y jhat. No estoy seguro del tamaño de memoria definido y la sintonización de GC. Así que quería volver a consultarlo con otros. – Ashutosh
Haz un volcado de hilo mientras está trabado para ver qué están haciendo. Probablemente haya algunos puntos muertos. Puede usar jconsole para recopilar esta información. – mrembisz