Ampliar la memoria al tomcat
16 diciembre 2008Uno de los problemas más comunes que nos hemos encontrado todos alguna vez es que nuestro servidor de aplicaciones, en este caso, tomcat, se quede sin memoria (heap space), para ampliarlo tenemos que tener en cuenta los parámetros que tenemos que modificar, cómo modificarlos y dónde modificarlos. Para empezar vamos a hablar de las opciones:
- Maximum heap size: Esto indica el tamaño máximo de la memoria que usara la máquina virtual de java (JVM). En la mayoría de los casos el valor que toma por defecto es 64MB. Para ampliar la memoria se utiliza el parámetro -Xmx, por ejemplo, -Xmx512m. Hay que tener en cuenta que la memoria que se le aplique debe ser consiederablemente menor a la cantidad de RAM del sistema, sino puede entrar en conflicto con otras aplicaciones.
- Initial heap size: Indica el la memoria que se utiliza inicialmente y se configura de la siguiente usando el parámetro -Xms, por ejemplo, -Xms252m
Nota: Si queremos saber la memoria de la que disponemos en Linux, ejecutar el comando top o free.
Algunos de los fallos comunes a la hora de configurar la memoria del tomcat son:
- No poner m, M o g, G, teniendo en cuenta que es sensible a mayúsculas.
- Escribir mal la sentencia, no lleva espacios ni el símbolo «=», la forma correcta es -Xmx512m.
- Poner el initial heap size mayor que el maximun heap size.
- Que se le haya asignado una memoría mayor que la real del sistema.
- Usar como la unidad mb cuando es m.
- Asignarle más memoria de la que la JVM piensa que va a ser necesaria.
- No expresar la cantidad como un número entero.
Para modificar el tamaño de la memoria debemos ir a $TOMCAT_HOME\bin\catalina.sh o catalina.bat y poner:
set CATALINA_OPTS=»-Xms512m -Xmx512m» (Windows)
export CATALINA_OPTS=»-Xms512m -Xmx512m» (linux)
no me funcionó de esa manera,
por erika 12 noviembre 2010 at 9:33 pmpero sì en el setenv.sh
Muchísimas gracias, me ha servido de mucho esta instrucción.
por Alejandro Cevallos 22 marzo 2012 at 8:04 pmFuncionó! Muchas gracias!
por Carlos 8 junio 2012 at 6:47 amEnormemente agradecido no sólo por la solución al problema del «heap size» sino además por tomarse el tiempo de explicar con detalle el significado de los elementos a cambiar, y los cuidados que hay a tener en cuenta.
Gracias.
por John Ortiz 30 noviembre 2012 at 3:46 amNO entiendo lo escribes dentro del archivo o lo ejecutas en el CMD??? gracias!!
por Juccis 20 junio 2013 at 2:09 pmTienes que ponerlo en el fichero, tal y como indico:
Para modificar el tamaño de la memoria debemos ir a $TOMCAT_HOME\bin\catalina.sh o catalina.bat y poner:
set CATALINA_OPTS=»-Xms512m -Xmx512m» (Windows)
por Alejandro Alves 20 junio 2013 at 2:35 pmexport CATALINA_OPTS=»-Xms512m -Xmx512m» (linux)