Eclipse libera el montón de nuevo al sistema
Estoy usando Eclipse 3.6 con la última versión de Sun Java 6 en Linux (64 bits) con una gran cantidad de proyectos grandes. En algunas circunstancias especiales (actualizaciones de SVN, por ejemplo), Eclipse necesita hasta 1 GB de almacenamiento dinámico. Pero la mayoría de las veces solo necesita 350 MB. Cuando habilito el panel de estado del montón, veo esto la mayor parte del tiempo:
350M de 878M
Comienzo Eclipse con esta configuración: -Xms128m -Xmx1024m
Por lo tanto, la mayoría de las veces se desperdician muchos MB y se usan raramente cuando el uso de la memoria alcanza su punto máximo por un corto tiempo. Eso no me gusta en absoluto y quiero que Eclipse libere la memoria al sistema, para poder usarlo en otros programas.
Cuando Eclipse necesita más memoria mientras no hay suficiente RAM libre de la que Linux puede intercambiar con otros programas en ejecución, puedo vivir con eso. Escuché que hay una opción -XX: MaxHeapFreeRatio. Pero nunca descubrí qué valores tengo que usar para que funcione. Ningún valor que probé alguna vez marcó la diferencia.
Entonces, ¿cómo puedo decirle a Eclipse (o Java) que libere el montón no utilizado?