java - oxygen - ¿Cómo puedo reducir el uso de memoria de Eclipse Ganimedes?
mejorar rendimiento eclipse oxygen (13)
Bueno, no especificas en qué plataforma ocurre esto. La administración de memoria puede variar si usa Windows XP, Vista, Linux, OS X, ...
Usualmente, en mi computadora (WinXP con 1Gb de RAM), Eclipse toma raramente más de 200Mb, dependiendo del tamaño de los proyectos abiertos, los complementos cargados y la acción en curso.
Uso el reciente lanzamiento de Ganymede de Eclipse, específicamente la distribución para Java EE y desarrolladores web. He instalado algunos complementos adicionales (por ejemplo, Subclipse, Spring, FindBugs) y eliminé todos los complementos de Mylyn.
No hago nada particularmente pesado en Eclipse, como iniciar un servidor de aplicaciones o conectarme a bases de datos, sin embargo, por alguna razón, después de varias horas de uso, veo que Eclipse usa cerca de 500MB de memoria.
¿Alguien sabe por qué Eclipse usa tanta memoria (con fugas?), Y más importante, si hay algo que pueda hacer para mejorar esto?
Eclipse en sí mismo está bastante hinchado, y cuantos más complementos añades, más se agrava la situación. Todavía es mi IDE favorito, ya que ciertamente no es corto en funcionalidad, pero si estás buscando un IDE liviano, te sugiero que abandones Eclipse; es bastante normal acumular medio giga de memoria si lo dejas funcionar por un tiempo.
Eclipse es un IDE bastante hinchado. Puede minimizarlo girando el edificio de proyecto automático en Proyecto -> Crear automáticamente. También se puede ayudar cerrando cualquier proyecto abierto en el que no esté trabajando actualmente.
Eclipse generalmente mantiene una gran cantidad de metadatos en la memoria para permitir todo tipo de gimnasia IDE.
Descubrí que la configuración predeterminada de Eclipse funciona bien para la mayoría de los propósitos y eso incluye un límite (dado explícita o implícitamente por la JVM) a la cantidad de memoria que se puede consumir, y Eclipse permanecerá dentro de eso.
¿Hay alguna razón en particular por la que le preocupa el uso de la memoria?
En lugar de quejarse sobre la cantidad de memoria que toma Eclipse, simplemente siga adelante y analice dónde está el problema. Podría ser solo un complemento.
Mira el blog aquí: "analizar el consumo de memoria del eclipse"
Saludos, Markus
La RAM es relativamente barata (no es que esto sea una excusa para una gestión deficiente de la memoria). La memoria no utilizada es esencialmente memoria perdida. Si está alcanzando límites y el IDE es el problema, considere menos multitareas, ajuste sus requerimientos de memoria o compre más. No lisiaría a Eclipse si ese es tu IDE pan y mantequilla.
Los complementos de Ganimedes Java EE son absolutamente enormes cuando se ejecutan en la memoria. Además, he tenido malas experiencias con FindBugs y su fiabilidad durante una larga sesión de codificación.
Sin embargo, si no puede vivir sin estos complementos, su único recurso es comenzar a cerrar proyectos. Si limita la cantidad de proyectos abiertos en su área de trabajo, el compilador (y FindBugs) tendrá menos de qué preocuparse y su uso de memoria disminuirá enormemente.
Por lo general, dividir mis espacios de trabajo por cliente y luego solo mantener abiertos los proyectos mínimos en cada espacio de trabajo. Tenga en cuenta que si tiene proyectos particularmente grandes (especialmente aquellos con muchos archivos verificados por WST), eso no solo masticará su memoria, sino que también causará una pausa notable en la capacidad de respuesta al compilar.
No conozco Eclipse específicamente, utilizo IntelliJ, que también sufre un aumento de la memoria (¡ya sea que lo esté usando activamente o no!). De todos modos, en IntelliJ, no pude eliminar el problema, pero ralenticé el crecimiento de la memoria jugando con las opciones de VM de tiempo de ejecución. Podría intentar restablecer estos en Eclipse y ver si hacen una diferencia.
Puede editar las opciones de VM en el archivo eclipse.ini en su carpeta eclipse.
Descubrí que (en IntelliJ) la configuración del recolector de basura tenía el mayor efecto en la velocidad con la que crece la memoria.
Mi configuración es:
-Xms128m
-Xmx512m
-XX:MaxPermSize=120m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
(Consulte http://piotrga.wordpress.com/2006/12/12/intellij-and-garbage-collection/ para obtener una explicación de las configuraciones individuales). Como puede ver, me preocupa más evitar largas pausas durante la edición que el uso de la memoria, pero podría usar esto como un comienzo.
No creo que la JVM haga una gran cantidad de recolección de basura a menos que sea necesario (es decir, que esté llegando a sus límites). Por lo tanto, toma toda la memoria que puede obtener, probablemente hasta el límite establecido en eclipse.ini (el argumento -Xmx, configurado en 512Mib aquí).
Puede obtener una representación visual del estado actual del montón al marcar ''Preferencias'' -> ''General'' -> ''Mostrar estado del montón''. Creará un pequeño indicador en la barra de estado que también tiene un botón "papelera" que puede usar para desencadenar una recolección manual de basura.
Normalmente le doy a Eclipse 512 MB de RAM (usando la opción -Xmx de la JVM) y no tengo ningún problema de memoria con Ganimedes. Actualicé a dos GB de RAM hace unos meses, y realmente puedo recomendarlo. Se hace una gran diferencia.
Solo para información,
puedes añadir
-Dcom.sun.management.jmxremote
a su archivo eclise.ini, ejecute eclipse y luego monitoree su uso de memoria a través de ''jconsole.exe'' que se encuentra en su instalación de jdk.
C:/[jdk1.6.0_0x path]/bin/jconsole.exe
Elija ''Conexión / Nueva conexión /'' eclipse ''para controlar la memoria utilizada por el eclipse
- siempre use la última jvm para iniciar su eclipse (eso no le impide usar cualquier otra jfk para compilar su proyecto dentro de eclipse)
Tuve un problema con el consumo de memoria de los programas basados en Java. Descubrí que podría estar relacionado con el jvm elegido (en mi caso así fue). Intenta ejecutar eclipse con el interruptor de cliente.
En algunos sistemas operativos (creo que la mayoría de las distribuciones de Linux), la opción predeterminada es el servidor vm, que consumirá mucha más memoria cuando se ejecutan aplicaciones con GUI.
En mi caso, la huella de memoria inicial bajó de 300 MB a 80 MB.
Perdón por mi maldito inglés. Espero haber ayudado.
Todos los saludos Arkadiusz Jamrocha
Yo lo llamaría inflado, pero no con fugas. (Si tuviera fugas subiría y subiría hasta que algo se estrelló.) Como han dicho otros, ¡la memoria es barata! Me parece una decisión simple: gastar un poco en más memoria frente a perder productividad porque no tiene el presupuesto de memoria para ejecutar Eclipse @ 500MB.
Pregunta retórica resumida: ¿Qué es más valioso?
- La productividad obtenida del uso de un IDE que conozca con los complementos que desea, o
- ¿Gasta $ 50-200 en algo de memoria?