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
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:
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
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
Tambien vamos a evitar que verifique el bytecode
Cualquier cosa me preguntan.
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
c:/java/jre6/bin/javaw.exe
Configuración de Memoria heap y Permgen
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
-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
-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
Reviewed by El lado oscuro de java
on
abril 11, 2012
Rating:
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".
ResponderEliminarSé 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.
Que pasa si le cambio (-Dosgi.requiredJavaVersion=1.8) por -Dosgi.requiredJavaVersion=1.7. afectara la compilacion?
ResponderEliminar