h1

Ampliar la memoria al tomcat

16 diciembre 2008

Uno 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.
  • Nota: Si queremos saber la memoria de la que disponemos en Linux, ejecutar el comando top o free.

  • 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

Algunos de los fallos comunes a la hora de configurar la memoria del tomcat son:

  1. No poner m, M o g, G, teniendo en cuenta que es sensible a mayúsculas.
  2. Escribir mal la sentencia, no lleva espacios ni el símbolo «=», la forma correcta es -Xmx512m.
  3. Poner el initial heap size mayor que el maximun heap size.
  4. Que se le haya asignado una memoría mayor que la real del sistema.
  5. Usar como la unidad mb cuando es m.
  6. Asignarle más memoria de la que la JVM piensa que va a ser necesaria.
  7. 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)

6 comentarios

  1. no me funcionó de esa manera,
    pero sì en el setenv.sh


  2. Muchísimas gracias, me ha servido de mucho esta instrucción.


  3. Funcionó! Muchas gracias!


  4. Enormemente 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.


  5. NO entiendo lo escribes dentro del archivo o lo ejecutas en el CMD??? gracias!!


    • Tienes 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)
      export CATALINA_OPTS=»-Xms512m -Xmx512m» (linux)



Replica a erika Cancelar la respuesta