Jakie są najlepsze ustawienia JVM, jakie znalazłeś do uruchamiania Eclipse?
Jakie są najlepsze ustawienia JVM, jakie znalazłeś do uruchamiania Eclipse?
Odpowiedzi:
Znowu jest ta pora roku: „eclipse.ini weź 3” ustawienia cofają się!
alt text http://www.eclipse.org/home/promotions/friends-helios/helios.png
Po ustawieniach Eclipse Ganymede 3.4.x i Eclipse Galileo 3.5.x , oto dogłębne spojrzenie na „zoptymalizowany” plik ustawień eclipse.ini dla Eclipse Helios 3.6.x:
( przez „zoptymalizowany” mam na myśli możliwość uruchomienia pełnoprawnego Eclipse na naszej gównianej stacji roboczej w pracy, niektóre stare P4 z 2002 roku z 2Go RAM i XPSp3. Ale przetestowałem te same ustawienia na Windows7 )
OSTRZEŻENIE : w przypadku platformy innej niż Windows należy użyć zastrzeżonej opcji Sun -XX:MaxPermSize
zamiast zastrzeżonej opcji Eclipse --launcher.XXMaxPermSize
.
To znaczy: Chyba że używasz najnowszej wersji 7 jdk6u21 . Zobacz sekcję Oracle poniżej.
-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vm
C:/Prog/Java/jdk1.6.0_21/jre/bin/server/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Declipse.p2.unsignedPolicy=allow
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+CMSIncrementalPacing
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/Prog/Java/eclipse_addons
Uwaga:
Dostosuj p2.reconciler.dropins.directory
do wybranego zewnętrznego katalogu.
Zobacz tę SO odpowiedź . Chodzi o to, aby móc upuszczać nowe wtyczki do katalogu niezależnie od dowolnej instalacji Eclipse.
Poniższe sekcje szczegółowo opisują zawartość tego eclipse.ini
pliku.
Andrew Niefer ostrzegł mnie o tej sytuacji i napisał post na blogu o niestandardowym argumencie vm ( -XX:MaxPermSize
) i może spowodować, że vms innych dostawców w ogóle się nie uruchomi.
Ale wersja Eclipse tej opcji ( --launcher.XXMaxPermSize
) nie działa z nowym JDK (6u21, chyba że używasz wersji 6u21 7, patrz poniżej).
The finałrozwiązanie znajduje się na Wiki Eclipse , a dla Helios na Windows tylko z wersją 6u21 przed kompilacją 7 :
(eclipse_home) /plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
Otóż to. Brak ustawień do poprawiania w tym miejscu (ponownie, tylko dla Helios w systemie Windows z wersją wcześniejszą 6u21 7 ).
Dla platformy niż Windows, trzeba powrócić do opcji zastrzeżonych Sun -XX:MaxPermSize
.
Problem polega na regresji: identyfikacja JVM nie powiodła się z powodu zmiany marki Oracle w java.exe i spowodowała błąd 319514 w Eclipse.
Andrew zadbał o Bug 320005 - [launcher] --launcher.XXMaxPermSize: isSunVM
powinien zwrócić wartość true dla Oracle , ale będzie to dotyczyło tylko Helios 3.6.1.
Francis Upton , inny komentator Eclipse, zastanawia się nad każdą sytuacją .
Aktualizacja u21b7, 27 lipca :
Oracle zarejestrowało zmianę dla następnej wersji Java 6 i nie wdroży jej ponownie, aż do JDK 7 .
Jeśli używasz jdk6u21 build 7 , możesz powrócić do --launcher.XXMaxPermSize
(opcja zaćmienia) zamiast -XX:MaxPermSize
(opcja niestandardowa). Auto-wykrywanie dzieje w C wyrzutnia podkładka będzie nadal szukać „ ” ciąg, ale z 6u21b7, to będzie teraz działać - po raz kolejny.eclipse.exe
Sun Microsystems
Na razie wciąż zachowuję -XX:MaxPermSize
wersję (ponieważ nie mam pojęcia, kiedy wszyscy uruchomią zaćmienie właściwego JDK).
W przeciwieństwie do poprzednich ustawień dokładna ścieżka dla tych modułów nie jest już ustawiona, co jest wygodne, ponieważ może różnić się w zależności od różnych wersji Eclipse 3.6.x:
org.eclipse.equinox.launcher
pakietu z najwyższą wersją.plugins
katalogu odpowiedniego org.eclipse.equinox.launcher.[platform]
fragmentu z najwyższą wersją i korzysta z udostępnionej biblioteki o nazwie eclipse_*
wewnątrz.JDK6 jest teraz jawnie wymagany do uruchomienia Eclipse:
-Dosgi.requiredJavaVersion = 1.6
To pytanie SO zgłasza pozytywne przypadki rozwoju w systemie Mac OS.
Poniższe opcje są częścią eksperymentalnych opcji Sun JVM.
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
W tym poście na blogu zgłoszono, że potencjalnie mogą przyspieszyć Eclipse.
Zobacz wszystkie opcje JVM tutaj, a także na oficjalnej stronie opcji Java Hotspot .
Uwaga: szczegółowa lista raportów opcji , które UseFastAccessorMethods
mogą być domyślnie aktywne.
Zobacz także „Zaktualizuj JVM” :
Przypominamy, że G1 jest nowym śmieciarzem w ramach przygotowań do JDK 7, ale jest już używany w wersji 6 z U17.
Zobacz post na blogu od Andrew Niefera, który zgłasza tę nową opcję:
--launcher.defaultAction
openFile
Mówi to programowi uruchamiającemu, że jeśli jest wywoływany z wiersza poleceń, który zawiera tylko argumenty, które nie zaczynają się od „
-
”, wówczas argumenty te należy traktować tak, jakby następowały po nim „--launcher.openFile
”.
eclipse myFile.txt
Jest to rodzaj wiersza polecenia, który program uruchamiający otrzyma w systemie Windows po dwukrotnym kliknięciu pliku skojarzonego z zaćmieniem, lub wybraniu plików i wybraniu „
Open With
” lub „Send To
” Eclipse.Ścieżki względne zostaną rozstrzygnięte najpierw względem bieżącego katalogu roboczego, a następnie względem katalogu programu eclipse.
Zobacz błąd 301033 w celach informacyjnych. Pierwotnie błąd 4922 (październik 2001, naprawiony 9 lat później).
Jeśli masz dość tego okna dialogowego podczas instalacji wielu wtyczek:
, dodaj w eclipse.ini
:
-Declipse.p2.unsignedPolicy=allow
Zobacz ten wpis na blogu z Chrisem Aniszczy , a raport o błędzie 235526 .
Chcę powiedzieć, że badania bezpieczeństwa potwierdzają fakt, że im mniej podpowiedzi, tym lepiej.
Ludzie ignorują rzeczy, które pojawiają się w wyniku czegoś, co chcą zrobić.W przypadku wersji 3.6 nie powinniśmy wyświetlać ostrzeżeń w środku przepływu - bez względu na to, jak bardzo uprościć, ludzie po prostu je zignorują.
Zamiast tego powinniśmy zebrać wszystkie problemy, nie instalować tych pakietów z problemami i zamiast tego doprowadzić użytkownika z powrotem do punktu w przepływie pracy, w którym można go naprawić - dodać zaufanie, luźniej skonfigurować politykę bezpieczeństwa itp. Nazywa się to „bezpieczne inscenizacja ” .
---------- http://www.eclipse.org/home/categories/images/wiki.gif alt text http://www.eclipse.org/home/categories/images/wiki.gif alt text http://www.eclipse.org/home/categories/images/wiki.gif
Te opcje nie są eclipse.ini
wymienione powyżej, ale mogą się przydać w razie potrzeby.
Kiedy zacznie się eclipse, odczyta plik kluczy (w którym przechowywane są hasła), plik znajdujący się w user.home
.
Jeśli z jakiegoś powodu user.home
nie rozwinie się ono poprawnie w pełnoprawną ścieżkę, Eclipse nie uruchomi się.
Początkowo podniesiony w tym pytaniu SO , jeśli wystąpi to, musisz ponownie zdefiniować plik kluczy do wyraźnej ścieżki (koniec user.home do rozwiązania na początku)
Dodaj w eclipse.ini
:
-eclipse.keyring
C:\eclipse\keyring.txt
Zostało to śledzone przez błąd 300577 , został rozwiązany w innym pytaniu SO .
Czekaj, w Eclipse jest więcej niż jeden plik ustawień.
jeśli dodasz do swojej eclipse.ini
opcji:
-debug
, włączysz tryb debugowania, a Eclipse wyszuka inny plik ustawień: .options
plik, w którym możesz określić niektóre opcje OSGI.
I to świetnie, gdy dodajesz nowe wtyczki do folderu dropins.
Dodaj w pliku .options następujące ustawienia, zgodnie z opisem w blogu „ Diagnoza Dropins ” :
org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true
P2 poinformuje cię, jakie pakiety zostały znalezione w
dropins/
folderze, jakie żądanie zostało wygenerowane i jaki jest plan instalacji. Może nie jest to szczegółowe wyjaśnienie tego, co się faktycznie wydarzyło i co poszło nie tak, ale powinno dać ci mocne informacje o tym, od czego zacząć:
- czy twój pakiet był w planie?
- Czy to problem z instalacją (błąd P2)
- a może po prostu włączenie Twojej funkcji nie jest optymalne?
Pochodzi z błędu 264924 - [uzgadnianie] Brak diagnozy problemów z dropinami , co ostatecznie rozwiązuje następujący problem:
Unzip eclipse-SDK-3.5M5-win32.zip to ..../eclipse
Unzip mdt-ocl-SDK-1.3.0M5.zip to ..../eclipse/dropins/mdt-ocl-SDK-1.3.0M5
Jest to problematyczna konfiguracja, ponieważ OCL zależy od brakującego pola elektromagnetycznego.
3.5M5 nie zapewnia diagnozy tego problemu.Rozpocznij zaćmienie.
Żadnych oczywistych problemów. Nic w dzienniku błędów.
Help / About / Plugin
szczegóły pokazująorg.eclipse.ocl.doc
, ale nieorg.eclipse.ocl
.Help / About / Configuration
szczegóły nie zawierają wzmianki (diagnostycznej)org.eclipse.ocl
.Help / Installation / Information Installed Software
nie wspomina oorg.eclipse.ocl
.Gdzie są ładne markery błędów?
Zobacz ten post na blogu :
- W Galileo (aka Eclipse 3.5) JDT zaczął rozwiązywać oczywistą ścieżkę klas w bibliotekach dodanych do ścieżki kompilacji projektu. Działa to niezależnie od tego, czy biblioteka została dodana do ścieżki kompilacji projektu bezpośrednio, czy za pośrednictwem kontenera ścieżek klas, takiego jak biblioteka bibliotek użytkownika udostępniana przez JDT lub implementowana przez stronę trzecią.
- W Helios to zachowanie zostało zmienione, aby wykluczyć kontenery ścieżek klas z oczywistego rozpoznawania ścieżki klas.
Oznacza to, że niektóre z twoich projektów mogą się już nie kompilować w Helios.
Jeśli chcesz przywrócić zachowanie Galileo, dodaj:
-DresolveReferencedLibrariesForContainers=true
Zobacz odniesienia do błędu 305037 , błędu 313965 i błędu 313890 .
To pytanie SO wspomina o potencjalnej poprawce, gdy nie ma dostępu do witryn aktualizacji wtyczek:
-Djava.net.preferIPv4Stack=true
Wspomniano tutaj na wypadek, gdyby mógł pomóc w konfiguracji.
W tym artykule opisano:
Dla przypomnienia, najszybszymi opcjami, jakie do tej pory znalazłem do mojego testu laboratoryjnego z JVM n Windows 1.7 x64 są:
-Xincgc
-XX:-DontCompileHugeMethods
-XX:MaxInlineSize=1024
-XX:FreqInlineSize=1024
Ale wciąż nad tym pracuję ...
-XX:CompileThreshold=5
powoduje dla mnie OGROMNE spowolnienia. Samo pozbycie się tej opcji skróciło czas uruchamiania Eclipse do 17 sekund z> 1 min !! Nie wspominając już o tym, jak strasznie wolne było IDE. Zobacz ten link
-XX:CompileThreshold=5
ma bardzo niską wartość (domyślnie = 10000). Ta wartość reprezentuje liczbę wywołań metod / gałęzi przed jej skompilowaniem. Zbyt niska wartość spowoduje przedwczesne zapełnienie pamięci CodeCache, a konsola może zgłosić: CodeCache is full. Compiler has been disabled
Po wyłączeniu kompilatora zauważysz spowolnienie w aplikacji. Istnieją dwa sposoby, aby to naprawić: 1. Użyj -XX:CompileThreshold=1000
(dostosuj ten numer) lub 2. Spróbuj zwiększyć rozmiar pamięci podręcznej kodu za pomocą -XX:ReservedCodeCacheSize=64m
(podwójnie z domyślnej 32 m)
Obecnie (listopad 2009 r.) Testuję z aktualizacją jdk6 17 następujący zestaw konfiguracji opcji (z Galileo - eclipse 3.5.x, patrz poniżej 3.4 lub nowszy dla Helios 3.6.x ):
(oczywiście, dostosuj ścieżki względne obecne w tym pliku eclipse.ini do prawidłowych ścieżek konfiguracji)
Uwaga: w przypadku eclipse3.5 zamień startup
i launcher.library
wiersze:
-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins
Zobacz także moją oryginalną odpowiedź powyżej, aby uzyskać więcej informacji.
org.eclipse.equinox.p2.reconciler.dropins.directory
opcja.Wystąpił błąd z ignorowanymi punktami przerwania faktycznie związanymi z JDK.
Do uruchomienia zaćmienia używaj JDK6u16 lub nowszego (możesz wtedy zdefiniować tyle JDK, które chcesz skompilować w ramach zaćmienia: to nie dlatego, że uruchamiasz zaćmienie za pomocą JDK6, które będziesz musiał skompilować z tym samym JDK).
Zwróć uwagę na użycie:
--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m
Jak udokumentowano w Wiki Eclipse ,
Eclipse 3.3 obsługuje nowy argument do wyrzutni:
--launcher.XXMaxPermSize
.
Jeśli używana maszyna wirtualna jest maszyną wirtualną firmy Sun i nie ma jeszcze-XX:MaxPermSize=
argumentu maszyny wirtualnej, program uruchamiający automatycznie doda-XX:MaxPermSize=256m
do listy używanych maszyn wirtualnych.
Program uruchamiający 3.3 jest w stanie zidentyfikować maszyny wirtualne Sun tylko w systemie Windows.
Jak szczegółowo opisano w tym wpisie :
Nie wszystkie vms akceptują
-XX:MaxPermSize
argument, dlatego jest on przekazywany w ten sposób. Mogą występować (lub nie) problemy z identyfikacją Sun VMS.
Uwaga: Eclipse 3.3.1 ma błąd, w którym program uruchamiający nie może wykryć maszyny wirtualnej Sun, a zatem nie używa prawidłowego rozmiaru PermGen. Wygląda na to, że był to znany błąd w systemie Mac OS X również w wersji 3.3.0 .
Jeśli używasz jednej z tych kombinacji platform, dodaj-XX
flagęeclipse.ini
zgodnie z powyższym opisem.Uwagi:
384m
wiersz „ ” tłumaczy się na=384m
część argumentu maszyny wirtualnej „ ”, jeśli w maszynie wirtualnej rozróżniane są wielkie i małe litery „m
”, to tak samo jest z tym argumentem.--launcher.
przedrostek „ ” określa, że argument jest używany przez sam program uruchamiający i został dodany do argumentów specyficznych dla programu uruchamiającego, aby uniknąć kolizji nazw z argumentami aplikacji. (Inne przykłady--launcher.library
,--launcher.suppressErrors
)
-vmargs -XX:MaxPermSize=384m
Częścią jest argument przekazany bezpośrednio do maszyny wirtualnej, z pominięciem wyrzutnię całkowicie i bez kontroli na zbywcę VM jest używany.
Aby uzyskać najnowsze ustawienia, zobacz ustawienia Eclipse Galileo 3.5 powyżej .
Moim zdaniem najlepsze ustawienie JVM zawsze obejmuje najnowszy JDK, jaki można znaleźć (na razie jdk1.6.0_b07 do b16, z wyjątkiem b14 i b15 )
Nawet przy tych dość niskich ustawieniach pamięci mogę uruchamiać duże projekty Java (wraz z serwerem WWW) na moim starym (2002) pulpicie z 2Go RAM.
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote
Zobacz SO odpowiedź GKelly za i wpis w blogu Piotra Gabryanczyk w celu uzyskania szczegółowych informacji na temat nowych opcji.
Możesz również rozważyć uruchomienie:
C:\[jdk1.6.0_0x path]\bin\jconsole.exe
Jak powiedzieliśmy w poprzednim pytaniu na temat zużycia pamięci .
Ustawienia dla Sun / Oracle java w wersji „1.6.0_31” i Eclipse 3.7 uruchomionych na Linuksie x86-64:
-nosplash
-vmargs
-Xincgc
-Xss500k
-Dosgi.requiredJavaVersion=1.6
-Xms64m
-Xmx200m
-XX:NewSize=8m
-XX:PermSize=80m
-XX:MaxPermSize=150m
-XX:MaxPermHeapExpansion=10m
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
Pamiętaj, że zużywa to tylko 200 MB na stosie i 150 MB na stosie. Jeśli używasz ogromnych wtyczek, możesz zwiększyć zarówno limity „-Xmx200m”, jak i „-XX: MaxPermSize = 150m”.
Podstawowym celem optymalizacji dla tych flag było zminimalizowanie opóźnienia we wszystkich przypadkach, a jako dodatkowy cel optymalizacji zminimalizował zużycie pamięci.
-showocation
Aby ułatwić dwukrotne uruchomienie zaćmienia i wiedzieć, z którym obszarem roboczym masz do czynienia
Eclipse 3.6 dodaje opcję preferencji, aby określić, co pokazać, Workspace name (shown in window title)
co działa znacznie lepiej niż -showlocation
z trzech powodów:
Jeśli korzystasz z aktualizacji jdk6 14, sugeruję użycie modułu śmieciowego G1, który wydaje się poprawiać wydajność.
Aby to zrobić, usuń te ustawienia:
-XX
: + UseConcMarkSweepGC -XX
: + CMSIncrementalMode -XX : + CMSIncrementalPacing
i zastąp je następującymi:
-XX
: + UnlockExperimentalVMOptions -XX : + UseG1GC
Jeśli używasz 32-bitowego JDK / JRE systemu Linux + Sun , zmień „-vm” na:
-vm
[your_jdk_folder]/jre/lib/i386/client/libjvm.so
Jeśli używasz Linux + Sun JDK / JRE 64bits , zmień „-vm” na:
-vm
[your_jdk_folder]/jre/lib/amd64/server/libjvm.so
Działa mi to dobrze w Ubuntu 8.10 i 9.04
Możesz także spróbować uruchomić z JRockit . Jest to JVM zoptymalizowana pod kątem serwerów, ale wiele długo działających aplikacji klienckich, takich jak IDE, działa bardzo dobrze na JRockit. Zaćmienie nie jest wyjątkiem. JRockit nie ma perm-spacji, więc nie trzeba go konfigurować.
Możliwe jest ustawienie docelowego czasu pauzy (ms), aby uniknąć długich pauz gc blokujących interfejs użytkownika.
-showsplash
org.eclipse.platform
-vm
C:\jrmc-3.1.2-1.6.0\bin\javaw.exe
-vmargs
-XgcPrio:deterministic
-XpauseTarget:20
Zazwyczaj nie przejmuję się ustawieniem -Xmx i -Xms i pozwalam JRockitowi powiększać stertę, jeśli uzna to za konieczne. Jeśli uruchomisz aplikację Eclipse za pomocą JRockit, możesz także monitorować, profilować i znajdować wycieki pamięci w aplikacji za pomocą pakietu narzędzi JRockit Mission Control. Pobierz wtyczki z tej witryny aktualizacji . Uwaga: działa tylko w Eclipse 3.3 i Eclipse 3.4
Oto moje własne ustawienie dla mojego Eclipse działającego na laptopie i7 2630M 16 GB RAM, to ustawienie było używane przez tydzień, bez jednego awarii, a Eclipse 3.7 działa płynnie.
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms1024m
-Xmx4096m
-XX:MaxPermSize=256m
Obliczenia: dla Win 7 x64
-startup
../../../plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dcom.sun.management.jmxremote
-Declipse.p2.unsignedPolicy=allow
A te ustawienia działały dla mnie jak urok. Używam OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24
Moje własne ustawienia (Java 1.7, zmodyfikuj do wersji 1.6):
-vm
C:/Program Files (x86)/Java/jdk1.7.0/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20100628
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-server
-Dosgi.requiredJavaVersion=1.7
-Xmn100m
-Xss1m
-XgcPrio:deterministic
-XpauseTarget:20
-XX:PermSize=400M
-XX:MaxPermSize=500M
-XX:CompileThreshold=10
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts
-Xms512m
-Xmx512m
Jeśli jesteś podobny do mnie i miałeś problemy z bieżącą wersją Oracle 1.6, możesz zaktualizować swój JDK lub zestaw
-XX: MaxPermSize. Więcej informacji jest dostępnych tutaj: http://java.dzone.com/articles/latest-java-update-fixes
XX: + UseParallelGC to najbardziej niesamowita opcja w historii !!!
-vm
C: \ Program Files \ Java \ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll
Aby określić, której wersji Java używasz, i użyj biblioteki dll zamiast uruchamiania procesu javaw
eclipse.ini
ustawienia dla Helios 3.6 są tutaj (poniżej, w nowej odpowiedzi): stackoverflow.com/questions/142357/…