Memory für Eclipse: Out of Memory Exception

Für Performance-Messungen beim Abfüllen, Durchsuchen oder Löschen von Listen, Trees oder Maps habe ich ein kleines Java-Programm geschrieben, welches alle Aktionen misst und ausgibt. Eigentlich nichts grosses, doch bei den 10 Millionen Instanzen, welche ich für ein aussagekräftiges Resultat brauche, kommt meine Maschine schnell ans Limit und Reklamiert mit einem Runtime-Error in Form einer „Out of Memory Exception“. Das liegt daran, dass Eclipse einem Programm nur sehr begrenzt Memory zur Verfügung stellt (ich glaube gerade mal 256 MB) und dies bei 10 Millionen Instanzen nicht ganz ausreicht.

Also muss ich auf meinem Mac das Programm mit mehr Memory starten, und das geht ganz einfach und unkompliziert über Eclipse. Einfach unter Run > Run Configurations folgende Werte eintragen:

memory

Nun, nochmals ausführen und schon läuft alles durch. Das Programm werde ich samt Ergebnis vielleicht auch noch kurz veröffentlichen, mal schauen, was rauskommt.

4 Kommentare bei „Memory für Eclipse: Out of Memory Exception

  1. Es ist doch nicht Eclipse, welches zu wenig Memory hat, sondern die JVM, welche aufgerufen wird.
    Die Parameter im Eclipse bewirken dann nur, dass die JVM mehr Memory zugesprochen bekommt.
    Oder liege ich da falsch?

    Greetz

    1. Genau, aber Eclipse limitiert über Parameter wie viel die JVM bekommt und durch den Parameter genehmigt Eclipse der JVM mehr RAM. Das RAM schlussendlich verwenden tut natürlich die JVM.

  2. Lustig, ich hatte angenommen, dass Eclipse nichts limitiert, sondern eifach die Standardwerte verwendet werden … aber:
    http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc-ergonomics.html

    „Smaller of 1/4th of the physical memory or 1GB. Before J2SE 5.0, the default maximum heap size was 64MB. You can override this default using the -Xmx command-line option.“

    Sprich bei 8GB RAM sollte das Maximum der JVM default-maessig bis 1GB gehen, was aber bei dir ja nicht der Fall ist (d.h. Eclipse scheint da wirklich eigene Werte zu haben).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.