Modificar la cantidad de memoria disponible para Tomcat

El rendimiento por defecto de un servidor Tomcat 6 es, normalmente, bastante bajo. Hace un par de días estaba realiando unas operaciones de recuperación de una aplicación en la que estamos trabajando y el servidor tardó varias horas en finalizar unas operaciones bastante básicas. Normalmente estas operaciones, al tomar tanto tiempo, se dan por perdidas en algún tipo de “deadlock” y se abortan (a no ser que se tenga el conocimiento de que van a durar tanto); pero a mi se me quedó la aplicación abierta en segundo plano (lo se… soy un desastre) y al final terminó las operaciones.

Al observar este comportamiento, recordé que había unos parámetros de configuración del Tomcat que modificaban el tamaño inicial y máximo de la pila de Java para un proceso y me puse a rebuscar entre las configuraciones de los diversos servidores con Tomcat a los que tenía acceso para recuperar esta pequeña “customización”.

Para modificar el tamaño inicial y máximo de la pila de Java para Tomcat (6) debemos modificar el archivo catalina.sh dentro del directorio bin en la raíz del directorio que contiene la instalación del Tomcat. La línea para añadir es la siguiente:
JAVA_OPTS="$JAVA_OPTS -Xms64M -Xmx1024M"
NOTA: Es importante que esta línea se añada furea de cualquier IF-ELSE del documento. Yo siempre lo añado justo antes de una línea comentada que pone Execute The Requested Command entre guiones, pero esto ya es a gusto del consumidor ;-)

El número que va después de -Xms es el tamaño inicial de la pila y el que va después de -Xmx es el tamaño máximo de ésta. La “M” sólo es para indicar que las dimensiones se están dando en MegaBytes. Dependiendo de los recursos de los que goza la máquina dónde tengamos el Tomcat estos parámetros deberán cambiar pero, por norma general, seguro que conseguimos una mejora en el rendimiento de nuestro servidor de aplicaciones Java.

4 thoughts on “Modificar la cantidad de memoria disponible para Tomcat

  1. ¿”costumización”? ¿Eso que es? ¿Personalización, quizás? Vaya tela…

    Eso sí: con tilde. La salvajada que lleve tilde.

  2. Siento que el vocablo te haya ofendido, a veces trabajar en un idioma diferente al que escribo los artículos me hace cometer este tipo de erratas. Ya que te has molestado a comunicarme lo que te parecía una salvajada, he corregido la entrada para ponerlo entre comillas porqué evidentmente no es una palabra normativa.

    Gracias

  3. Gracias, yo tenia este problema utilizando un repositorio DSpace versión 4.2 que utiliza Tomcat 7, donde con menos de un minuto este planchaba (se colgaba el navegador en localhost) y lo solucione modificando el archivo catalina.sh de la sgte forma:

    # —– Execute The Requested Command —————————————–
    JAVA_OPTS=”$JAVA_OPTS -Xms64M -Xmx1024M”
    export CATALINA_OPTS=”-Xms512m -Xmx512m”

Leave a Reply

Your email address will not be published. Required fields are marked *