Cómo configurar el arranque de Eclipse

November 9, 2007

Todos hemos oido hablar de las mejoras de rendimiento de Java 6, especialmente para aplicaciones de escritorio, entonces ¿por qué no usar Java 6 para  ejecutar Eclipse aunque desarrollemos con Java 5 o incluso Java 1.4? Sí, a algunos nos obligan a seguir viviendo en la prehistoria. Pero… ¿cuantás maquinas virtuales (jvm) tenemos instaladas? ¿Sabemos con cúal arranca Eclipse?

Cuando arrancamos Eclipse se usa la jvm que se encuentra en la variable PATH del sistema, aunque luego tengamos configurado que para los proyectos use  otra jvm. Afortunadamente ésto es facilmente configurable, basta con editar el fichero eclipse.ini, que se encuentra en el raiz del directorio del Eclipse y añadir la siguiente línea con la ruta al javaw que quieras usar:

-vm
c:/java/jre6/bin/javaw.exe

En este fichero también podemos tunear el tamaño inicial y máximo de las memorias heap y permgen. La solución a esos cuelgues repentinos o los inoportunos outofmemory cuando estamos con varios proyectos, servidores, plugins, etc. abiertos en eclipse. Recuerda que por defecto la jvm sólo usa 64MB.

La memoria heap es la asignada de forma dinámica y que puede ser liberada por el recolector de basura. Para configurar los valores inicial y máximo se usan los parametros de la jvm -Xms y -Xmx respectivamente. Por ejemplo, en mi equipo, que tiene 1GB de RAM, tengo las siguiente líneas en el eclipse.ini:

-vmargs
-Xms128m
-Xmx512m

La memoria permgen es memoria que se asigna de forma permanente y, por tanto, no puede ser liberada. En el eclipse.ini del Eclipse 3.3 ya se incluye la siguiente línea para gestionar su tamaño máximo:

–launcher.XXMaxPermSize
256m

Aun así, se pueden utilizar los parametros -XX:PermSize y -XX:MaxPermSize de la jvm para configurar los tamaños inicial y máximo de la memoria permgen. Por ejemplo, estas serian las líneas a añadir para un tamaño inicial de 128MB y máximo de 256MB:

-XX:PermSize=128m
-XX:MaxPermSize=256m