1) Dla dociekliwych - polecam ponizsza lekture.
Memory tuning for Exadel Studio Pro and Eclipse 3.1
Tuning Eclipse Performance and Avoiding OutOfMemoryExceptions
dodatkowo:
MaxPermSize and how it relates to the overall heap
Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine
2) Dla niecierpliwych
i. jre - 1.5 vel 5.0 (przynajmniej 30% szybsza od 1.4)
zachecam rowniez do poeksperymentowania z JRockit albo 1.6 (beta)
UWAGA
nalezy sprawdzic kt. jvm uzywa eclipse [Help -> About Eclipse SDK -> Configuration Details]
przykladowy fragment (sciezka i parametry startowe)
…
-vm
c:\Lang\Java\jdk1.5.0_06\bin\javaw.exe
eclipse.product=org.eclipse.sdk.ide
eclipse.startTime=1138681185312
eclipse.vm=c:\Lang\Java\jdk1.5.0_06\bin\javaw.exe
eclipse.vmargs=-Xms256m
-Xmx256m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-Dcom.sun.management.jmxremote
…
ii. w pliku eclipse.ini wpisac (system z 512mb ramu)
-vmargs -Xms256m -Xmx256m -XX:PermSize=64m -XX:MaxPermSize=64m
lub (system z 1024mb ramu)
-vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m
iii. Uruchomic eclipse. W przypadku gdy nie ma to byc systemowa jvm (patrz UWAGA) nalezy podac sciezke:
Przykladowo dla windows (plik .bat lub .lnk)
eclipse.exe -vm “c:\Lang\Java\jre1.6.0\bin\javaw.exe”
iv. Krotkie wyjasnienie:
Uzylismy szybszej maszyny virtualnej oraz zafiksowali rozmiar sterty (heap size) na stala wartosc (Xms i Xmx) co mozna w przyblizeniu porownac do zafiksowania w Windows rozmiaru pliku wymiany (dynamiczne alokowanie pamieci pod sterte ma swoj koszt). Parametry PermSize i MaxPermSize okreslaja rozmiar tzw. Permanent Generation i maja m.in. wplyw na optymalizacje dzialania odsmiecacza pamieci (gc). Zainteresowanych odsylam do lektury linkow.
v. Do testowania konfiguracji przydac sie moze jconsole (JAVA_HOME\bin\jconsole.exe)
Nalezy dopisac do eclipse.ini-Dcom.sun.management.jmxremote
uruchomic eclipse i jconsole oraz podlaczyc jconsole do eclipse
Prosze nie przesadzac z wartosciami aby zostalo cos dla systemu i innych aplikacji