Page 1 of 1

Gestión de memoria: "unable to create new native thread"

PostPosted:Sat Jun 13, 2015 11:18 pm
by situate
Buenas,

En el proceso de arrancar OpenKM 6.3.0 Community, recibo el siguiente mensaje en los logs con respecto al uso de memoria en una máquina Debian 8 de 64 bits.
Code: Select all
2015-06-13 17:44:28,002 [Catalina-startStop-1] ERROR org.apache.catalina.startup.HostConfig- Error waiting for multi-thread deployment of WAR files to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: unable to create new native thread
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:188)
El servicio lo estoy desplegando en un VPS con 2GB de RAM (libres ahora mismo 1,5 GB) con los parámetros por defecto. Por si acaso era eso, he fijado el número de threads del SO a 4096 pero tampoco es eso. He probado con distintas configuraciones de las opciones del archivo bin/setenv.sh, el problema es que no entiendo demasiado si incrementando o decrementando los valores ayudo a diagnosticar el problema porque no termino de entender el funcionamiento de la reserva de memoria de Java. En cualquier caso os copio algunas de las opciones que he probado:
Code: Select all
JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=256m
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
Sospecho que es cuestión de memoria porque el mismo proceso lo he seguido en mi equipo de casa (Debian 8 x64 también, pero con 8GB de RAM) y ha funcionado a la primera sin ningún problema. ¿Alguna idea? Como los requisitos recomendados marcan 2GB de RAM...

Re: Gestión de memoria: "unable to create new native thread"

PostPosted:Mon Jun 15, 2015 7:33 am
by jllort
Pero cuanta memoria tienes libre ? Y piensa que el proceso de arrancar la aplicación por primera vez precisa un poco mas de memoria ( preparación para la creación de tablas y tal ). Nuestra sugerencia de instalación base es de 4GB y 2 core. Otra cosa es lo mínimo para arrancarlo que son estas 2GB, pero no vas a querer montar una aplicación apretada de recursos, sino algo que funcione meridianamente bien. Esto no solo es arrancar la aplicación, sino después los procesos que se disparan de conversión, extracción de texto etc... en un entorno en producción 2GB y 1cpu es algo que funcionará, pero mal.

Re: Gestión de memoria: "unable to create new native thread"

PostPosted:Sun Jun 28, 2015 9:05 am
by pavila
Pienso que el error es bastante claro: OutOfMemoryError (no tiene suficiente memoria) Yo no te recomiendo menos de 4GB