To niesamowite, że pytanie zamknięte jako mało konstruktywne ma tak wysoką ocenę ...
bancer
1
To pytanie zostało zadane, gdy najnowszą odpowiedzią na takie pytanie w 2008 r. Była eclipsezone.com/eclipse/forums/t20732.html . Zestaw odpowiedzi urósł, ponieważ wydano nowe wersje środowiska Eclipse i Java, kolejne aktualizacje zachowały świeżość odpowiedzi. Zamknięcie pytania spowoduje, że odpowiedzi staną się nieaktualne. Jedynym sposobem, w jaki mogę przemyśleć to pytanie, byłoby sprecyzowanie jego wersji, co moim zdaniem jest gorsze, ponieważ spowodowałoby, że wiele pytań odpowiadałoby w zasadzie na ten sam problem
Craig Angus
10
Zgadzam się - takie zamykające pytania to szaleństwo - szaleństwo mówię wam - takie pytania są najbardziej przydatne i interesujące na stronie!
Luigi Plinge
3
Zgodnie z powodem zamknięcia: „Oczekujemy, że odpowiedzi będą zazwyczaj dotyczyły faktów, referencji lub konkretnej wiedzy specjalistycznej”. Myślę, że zamknięcie tego pytania jest trudnością. Bądźmy ostrożni, korzystając z uprawnień cenzury. Powiedziałbym, że w razie wątpliwości lepiej „pozwolić wiedzy być wolną” i otworzyć się.
luiscolorado
Odpowiedzi:
315
Znowu jest ta pora roku: „eclipse.ini weź 3” ustawienia cofają się!
i za pomocą Sun-Oracle JVM 1.6u21 b7 , wydanego 27 lipca (w grę mogą wchodzić niektóre opcje zastrzeżone przez firmę Sun).
( 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 )
Eclipse.ini
OSTRZEŻENIE : w przypadku platformy innej niż Windows należy użyć zastrzeżonej opcji Sun -XX:MaxPermSizezamiast zastrzeżonej opcji Eclipse --launcher.XXMaxPermSize.
To znaczy: Chyba że używasz najnowszej wersji 7 jdk6u21 . Zobacz sekcję Oracle poniżej.
Uwaga:
Dostosuj p2.reconciler.dropins.directorydo 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.inipliku.
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 :
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.
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.exeSun Microsystems
Na razie wciąż zachowuję -XX:MaxPermSizewersję (ponieważ nie mam pojęcia, kiedy wszyscy uruchomią zaćmienie właściwego JDK).
Domniemany `-startup` i` --launcher.library`
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:
uruchomienie: jeśli nie zostanie określone, plik wykonywalny będzie szukał w katalogu wtyczek org.eclipse.equinox.launcherpakietu z najwyższą wersją.
launcher.library: Jeśli nie jest określony, plik wykonywalny szuka w pluginskatalogu odpowiedniego org.eclipse.equinox.launcher.[platform]fragmentu z najwyższą wersją i korzysta z udostępnionej biblioteki o nazwie eclipse_*wewnątrz.
Użyj JDK6
JDK6 jest teraz jawnie wymagany do uruchomienia Eclipse:
-Dosgi.requiredJavaVersion = 1.6
To pytanie SO zgłasza pozytywne przypadki rozwoju w systemie Mac OS.
+ UnlockExperimentalVMOptions
Poniższe opcje są częścią eksperymentalnych opcji Sun JVM.
Przypominamy, że G1 jest nowym śmieciarzem w ramach przygotowań do JDK 7, ale jest już używany w wersji 6 z U17.
Otwieranie plików w Eclipse z wiersza poleceń
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).
p2 i monit o niepodpisane okno dialogowe
Jeśli masz dość tego okna dialogowego podczas instalacji wielu wtyczek:
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 ” .
Te opcje nie są eclipse.iniwymienione powyżej, ale mogą się przydać w razie potrzeby.
Problem „user.home” w systemie Windows7
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.homenie 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)
Czekaj, w Eclipse jest więcej niż jeden plik ustawień.
jeśli dodasz do swojej eclipse.iniopcji:
-debug
, włączysz tryb debugowania, a Eclipse wyszuka inny plik ustawień: .optionsplik, 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 ” :
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?
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:
Zgodnie z tym linkiem, oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#icms , musisz mieć -XX: + UseConcMarkSweepGC, aby użyć -XX: + CMSIncrementalMode. Tego brakuje w powyższym przykładzie. Nie potrzebowalibyśmy CMSIncrementalMode w przypadku korzystania z G1 GC, mam rację?
RuntimeException
1
Hej, G1GC to katastrofa na Macu. Zjada całą maszynę, wymagając ponownego uruchomienia.
bmargulies
4
@VonC: -XX:CompileThreshold=5powoduje 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
TrinitronX
3
@TrinitronX: (i właściwie wszyscy), -XX:CompileThreshold=5ma 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 disabledPo 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)
Drupad Panchal
4
dla Linuksa użyj /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/client/libjvm.so dla lokalizacji
jvm
76
Ustawienia Eclipse Galileo 3.5 i 3.5.1
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ń startupi launcher.librarywiersze:
Galileo obsługuje w pełni względne ścieżki dla obszaru roboczego lub maszyny wirtualnej (unikaj konieczności modyfikowania tych z jednej instalacji zaćmienia do drugiej, jeśli oczywiście JVM i obszar roboczy pozostają takie same)
Przedtem te względne ścieżki były przepisywane na bezwzględne podczas uruchamiania środowiska Eclipse ...
Możesz także skopiować katalog JRE instalacji Java JDK w katalogu eclipse
Ostrzeżenia
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).
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=256mdo listy używanych maszyn wirtualnych.
Program uruchamiający 3.3 jest w stanie zidentyfikować maszyny wirtualne Sun tylko w systemie Windows.
Nie wszystkie vms akceptują -XX:MaxPermSizeargument, 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 -XXflagę eclipse.inizgodnie z powyższym opisem.
Uwagi:
384mwiersz „ ” tłumaczy się na =384mczęść 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=384mCzęścią jest argument przekazany bezpośrednio do maszyny wirtualnej, z pominięciem wyrzutnię całkowicie i bez kontroli na zbywcę VM jest używany.
Miałem z tym kilka problemów w najnowszym wydaniu Eclipse 3.5x64: --launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v20090519 - wtyczki startowe / org.eclipse.equinox.launcher_1 .0.200.v20090520.jar również musiałem użyć jdk JAVA_HOME / bin / javaw, dla wtyczki m2eclipse. W przeciwnym razie jest to szalenie niesamowite.
Nathan Feger
Czy ci dwaj nie robią tego samego? „--launcher.XXMaxPermSize 384m” i „-XX: MaxPermSize = 128m”
Igor Zinov'yev
@Igor Zinov'yev: jest nieco zbędny, ale oba mogą być przydatne, w zależności od platformy i wersji zaćmienia. Zresetowałem je do tej samej wartości i uzupełniałem swoją odpowiedź dokumentacją dotyczącą tych ustawień.
Jeśli zawsze chcesz używać najnowszej i najlepszej maszyny wirtualnej, dlaczego argument „-Dosgi.requiredJavaVersion = 1.5” nie jest używany w wersji 1.6?
do czego służy -Xssv2m, kiedy włączę go do ustawień vm, zaćmienie się nie uruchamia, przejrzał dokumentację ustawień JVM, ale nie mógł go znaleźć
Craig Angus
Racja ... to była literówka: Xss2m, a nie Xssv2m: -Xss określa rozmiar stosu: -Xss1024k. Jeśli przestrzeń stosu jest zbyt mała, w końcu zobaczysz klasę wyjątków java.lang.StackOverflowError (mityczny komunikat o błędzie tutaj ;-))
VonC
W końcu przeszedłem do korzystania z drugiego zestawu ustawień i zdziwiłem się, jak dobrze działają!
Craig Angus,
Od jakiegoś czasu miałem okazję korzystać z ustawień, zaćmienie wydaje się szybkie, ale tworzenie kompilacji mrówek wydaje się wolniejsze?
Craig Angus
@Craig Angus: dziwne, jakiej wersji zaćmienia używasz? A która wersja mrówki jest w nim zawarta?
VCC
20
Ustawienia Eclipse Indigo 3.7.2 (64-bitowy Linux)
Ustawienia dla Sun / Oracle java w wersji „1.6.0_31” i Eclipse 3.7 uruchomionych na Linuksie x86-64:
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.
Działa dla mnie fantastycznie (chociaż podwoiłem wartości ustawień związanych z pamięcią, wciąż jest niska i błyskawicznie się burzy!)
Aktau
Masz zarówno -XX: + UseConcMarkSweepGC, jak i -XX: + UseParNewGC. Dlaczego? Nie sądzę, że możesz używać obu śmieciarek, i nie jestem pewien, który z nich w końcu zostanie wykorzystany.
herman
Myślałem, że -XX: + UseConcMarkSweepGC służy do zbierania śmieci starej generacji, a -XX: + UseParNewGC jest używany do zbierania śmieci przez eden.
Każda opcja i każdy argument opcji musi znajdować się w osobnej linii.
Josh Clemm
14
-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ż -showlocationz trzech powodów:
Nie ma potrzeby ponownego uruchamiania zaćmienia, aby miało to wpływ.
Możesz wybrać krótki kod.
Pojawia się jako pierwszy, przed perspektywą i nazwą aplikacji.
Czy to ma mieć Eclipse używające JDK jako domyślnego środowiska?
Thorbjørn Ravn Andersen
Można tego użyć, aby środowisko Eclipse korzystało z określonego / innego JDK jako środowiska domyślnego.
Gilberto Olimpio
7
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.
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
W przeszłości prowadziłem zaćmienie na JRockit i biegałem bardzo dobrze
Craig Angus
5
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.
eclipse.ini
ustawienia dla Helios 3.6 są tutaj (poniżej, w nowej odpowiedzi): stackoverflow.com/questions/142357/…Odpowiedzi:
Znowu jest ta pora roku: „eclipse.ini weź 3” ustawienia cofają się!
Ustawienia Eclipse Helios 3.6 i 3.6.x.
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:
w grę mogą wchodzić niektóre opcje zastrzeżone przez firmę Sun).( 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 )
Eclipse.ini
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.
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.Przerażający Oracle JVM 1.6u21 (przed kompilacją 7) i Eclipse ulega awarii
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 :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).Domniemany `-startup` i` --launcher.library`
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 odpowiedniegoorg.eclipse.equinox.launcher.[platform]
fragmentu z najwyższą wersją i korzysta z udostępnionej biblioteki o nazwieeclipse_*
wewnątrz.Użyj JDK6
JDK6 jest teraz jawnie wymagany do uruchomienia Eclipse:
To pytanie SO zgłasza pozytywne przypadki rozwoju w systemie Mac OS.
+ UnlockExperimentalVMOptions
Poniższe opcje są częścią eksperymentalnych opcji Sun JVM.
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” :
Otwieranie plików w Eclipse z wiersza poleceń
Zobacz post na blogu od Andrew Niefera, który zgłasza tę nową opcję:
Zobacz błąd 301033 w celach informacyjnych. Pierwotnie błąd 4922 (październik 2001, naprawiony 9 lat później).
p2 i monit o niepodpisane okno dialogowe
Jeśli masz dość tego okna dialogowego podczas instalacji wielu wtyczek:
, dodaj w
eclipse.ini
:Zobacz ten wpis na blogu z Chrisem Aniszczy , a raport o błędzie 235526 .
---------- 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
Dodatkowe opcje
Te opcje nie są
eclipse.ini
wymienione powyżej, ale mogą się przydać w razie potrzeby.Problem „user.home” w systemie Windows7
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
:Zostało to śledzone przez błąd 300577 , został rozwiązany w innym pytaniu SO .
Tryb debugowania
Czekaj, w Eclipse jest więcej niż jeden plik ustawień.
jeśli dodasz do swojej
eclipse.ini
opcji:, 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 ” :
Pochodzi z błędu 264924 - [uzgadnianie] Brak diagnozy problemów z dropinami , co ostatecznie rozwiązuje następujący problem:
Manifest Classpath
Zobacz ten post na blogu :
Oznacza to, że niektóre z twoich projektów mogą się już nie kompilować w Helios.
Jeśli chcesz przywrócić zachowanie Galileo, dodaj:
Zobacz odniesienia do błędu 305037 , błędu 313965 i błędu 313890 .
Stos IPV4
To pytanie SO wspomina o potencjalnej poprawce, gdy nie ma dostępu do witryn aktualizacji wtyczek:
Wspomniano tutaj na wypadek, gdyby mógł pomóc w konfiguracji.
Potencjalne optymalizacje JVM1.7x64
W tym artykule opisano:
źródło
-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)Ustawienia Eclipse Galileo 3.5 i 3.5.1
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
ilauncher.library
wiersze:eclipse.ini 3.5.1
Zobacz także moją oryginalną odpowiedź powyżej, aby uzyskać więcej informacji.
Zmiany (od lipca 2009)
org.eclipse.equinox.p2.reconciler.dropins.directory
opcja.Przedtem te względne ścieżki były przepisywane na bezwzględne podczas uruchamiania środowiska Eclipse ...
Ostrzeżenia
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).
Max
Zwróć uwagę na użycie:
Jak udokumentowano w Wiki Eclipse ,
Jak szczegółowo opisano w tym wpisie :
źródło
Ustawienia Eclipse Ganymede 3.4.2
Aby uzyskać najnowsze ustawienia, zobacz ustawienia Eclipse Galileo 3.5 powyżej .
JDK
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 )
eclipse.ini
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.
Zobacz SO odpowiedź GKelly za i wpis w blogu Piotra Gabryanczyk w celu uzyskania szczegółowych informacji na temat nowych opcji.
Monitorowanie
Możesz również rozważyć uruchomienie:
Jak powiedzieliśmy w poprzednim pytaniu na temat zużycia pamięci .
źródło
Ustawienia Eclipse Indigo 3.7.2 (64-bitowy Linux)
Ustawienia dla Sun / Oracle java w wersji „1.6.0_31” i Eclipse 3.7 uruchomionych na Linuksie x86-64:
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.
źródło
-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:źródło
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
źródło
Jeśli używasz 32-bitowego JDK / JRE systemu Linux + Sun , zmień „-vm” na:
Jeśli używasz Linux + Sun JDK / JRE 64bits , zmień „-vm” na:
Działa mi to dobrze w Ubuntu 8.10 i 9.04
źródło
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.
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
źródło
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.
Obliczenia: dla Win 7 x64
źródło
A te ustawienia działały dla mnie jak urok. Używam OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24
źródło
Moje własne ustawienia (Java 1.7, zmodyfikuj do wersji 1.6):
źródło
Eclipse lubi dużo pamięci RAM. Użyj co najmniej -Xmx512M. Więcej, jeśli dostępne.
źródło
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
. Więcej informacji jest dostępnych tutaj: http://java.dzone.com/articles/latest-java-update-fixesźródło
XX: + UseParallelGC to najbardziej niesamowita opcja w historii !!!
źródło
-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
źródło
Oto, czego używam (chociaż mam je w skrócie zamiast pliku ustawień):
eclipse.exe -showlocation -vm "C: \ Java \ jdk1.6.0_07 \ bin \ javaw.exe" -vmargs -Xms256M -Xmx768M -XX: + UseParallelGC -XX: MaxPermSize = 128M
źródło