En realitat, això s'aplica per a qualsevol aplicació Java, encara que aquí només vaig a prendre el cas pràctic de l'eclipsi.
Moltes vegades se'ns tanca l'eclipsi de manera inesperada, sense missatge d'error ni res. O a vegades, tenim la sort de rebre almenys el missatge d'error: Out of memory (si no rebem l'error, segurament podrem veure a l'arxiu. Log). ¿Que va ser el que va passar? És simple, la màquina virtual de java assigna determina quantitat de memòria com a màxim per a determinades estructures internes, i en ser aquesta quantitat insuficient, va provocar un error i es va tancar l'aplicació.
La solució a aquest problema és bastant simple: cal dir-li a la JRE que li doni més memòria a la nostra aplicació. ¿I com fem això? La manera més pràctica crec jo és fer un accés directe, en el qual es enllaça amb l'aplicació amb una sèrie de paràmetres addicionals. Aquests paràmetres són vmargs, PermSize i MaxPermSize. Aquí els deixo un exemple amb els valors que jo utilitzo, que m'han servit per solucionar el problema:
"C: \ eclipsi \ eclipse.exe"-vmargs-Xmx512M-XX: PermSize = 64M-XX: MaxPermSize = 128M