Eclipse - Configuración eclipse.ini - Configuracion de Java Virtual Machine - Configuración de Memoria heap y Permgen

Hoy vamos hablar del entorno particularmente el eclipse, vamos a ver como optimizarlo y que son los parámetros dentro del archivo eclipse.ini

Configuración de Java Virtual Machine


Cuando arrancamos el 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

Configuración de Memoria heap y Permgen

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:
Evitar verificacion del Bytecode
-Xverify:none
A verificar

–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

Tambien vamos a evitar que verifique el bytecode


Estos son algunos comando mas a verificar
-XX:-UseParallelGC – Barrido en paralelo del GC.
-XX:-UseConcMarkSweepGC – Concurrent mark-sweep collection
-XX:+AggressiveOpts – Activar optimizaciones del compilador (previstas para ser añadidas por defecto en futuras versiones)


Cualquier cosa me preguntan.
Eclipse - Configuración eclipse.ini - Configuracion de Java Virtual Machine - Configuración de Memoria heap y Permgen Eclipse - Configuración eclipse.ini - Configuracion de Java Virtual Machine - Configuración de Memoria heap y Permgen Reviewed by El lado oscuro de java on abril 11, 2012 Rating: 5

2 comentarios:

  1. Hola, tengo un problema con un programa que hasta hoy me funcionaba perfecto. He ido a abrirlo y me sale este mensaje: "client Error: Not enough memory for Java maximum heap 256M".

    Sé que tengo que cambiar la memoria máxima de Java pero no tengo ni idea de cómo hacerlo ni dónde tengo que hacerlo.

    Agradecería mucho su ayuda.

    Saludos.

    ResponderEliminar
  2. Que pasa si le cambio (-Dosgi.requiredJavaVersion=1.8) por -Dosgi.requiredJavaVersion=1.7. afectara la compilacion?

    ResponderEliminar

Con la tecnología de Blogger.