Jak możesz przyspieszyć korzystanie z Eclipse?
Na przykład: wyłączam wszystkie wtyczki, których nie potrzebuję (Mylyn, Subclipse,…).
Zamiast używać wtyczki dla Mercurial , konfiguruję TortoiseHG jako narzędzie zewnętrzne.
Jak możesz przyspieszyć korzystanie z Eclipse?
Na przykład: wyłączam wszystkie wtyczki, których nie potrzebuję (Mylyn, Subclipse,…).
Zamiast używać wtyczki dla Mercurial , konfiguruję TortoiseHG jako narzędzie zewnętrzne.
Odpowiedzi:
Trzy najbardziej wpływowe czynniki prędkości Eclipse to:
„Ten sam” obszar roboczy w Indigo (3.7.2) SR2 ładuje się w 4 sekundy, w Kepler SR2 (4.3.2) w 7 sekund i w Luna (4.4.0) w 10 sekund. Wszystkie są pakietami Java EE. Nowsze wersje mają więcej dołączonych wtyczek, ale trend jest oczywisty. (przez „ten sam” obszar roboczy mam na myśli: użyte te same (dodatkowo zainstalowane) wtyczki, te same projekty wyewidencjonowane z kontroli wersji).
Uruchomienie go z najnowszym JDK (Java 14 w momencie pisania, co nie przeszkadza w kompilacji w projekcie Eclipse z dowolnym innym JDK: 1.4.2, 1.5, 1.6 starszym ...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
Konfigurowanie eclipse.ini (zobacz to pytanie, aby uzyskać pełne eclipse.ini )
-Xms512m
-Xmx4096m
[...]
Xmx
Argumentem jest ilość pamięci Eclipse dostanie (w uproszczeniu). Dzięki -Xmx4096m
dostaje 4 GB pamięci RAM itp.
Uwaga:
Odwołanie do pliku jvm.dll ma zalety:
libjava.so
: W Linuksie, libjava.so
zależy libjvm.so
, ale odwrotność nie jest prawdą $ readelf -d libjava.so
Dynamic segment at offset 0x208a8 contains 25 entries:
Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libjvm.so] [...]
:: Gdy biblioteka zawiera takie informacje, ld.so
ładuje się libjvm.so
automatycznie, gdy ładuje się proces libjava.so
.
Dodaj -Xverify:none
do pliku eclipse.ini .
Skróci to znacznie czas uruchamiania Eclipse (50% w moim przypadku, jeśli nie więcej). Dzięki temu maszyna wirtualna nie będzie sprawdzać poprawności wszystkich ładowanych plików .class.
Zastanów się: Nigdy nie wyłączaj weryfikacji kodu bajtowego w systemie produkcyjnym (jak wspomniano w komentarzach)
Przejdź do systemu Windows -> Preferencje -> Sprawdzanie poprawności i odznacz wszystkie validators
niepotrzebne lub niepotrzebne.
W przypadku Eclipse 3.7 korzystasz z systemu Windows -> Preferencje -> Ogólne -> Uruchamianie i zamykanie .
Upewnij się, że używasz Sun JVM do uruchamiania Eclipse.
W Linuksie, szczególnie Ubuntu, Eclipse jest instalowany domyślnie, aby korzystać z GCJ typu open source, który ma znacznie gorszą wydajność. Użyj, update-alternatives --config java
aby przełączyć się na Sun JVM, aby znacznie poprawić snapiness interfejsu użytkownika w Eclipse.
java -version
powinieneś powiedzieć coś takiego openjdk version "1.8.0_131"
). Uważam, że OpenJDK 9 powoduje gorszą wydajność (większe opóźnienie) dla wielu zadań.
Zamknij wszystkie otwarte projekty, które nie są aktualnie w użyciu.
Spróbuj wyłączyć tryb automatycznego publikowania podczas programowania.
Dzięki za podpowiedzi. Te opcje (wymienione powyżej) bardzo mi pomogły:
Windows:
Zwiększanie pamięci i dotyczące mojej zaktualizowanej wersji Java w eclipse.ini:
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none
Ponadto, ponieważ optymalizujemy szybkość, ustawienie -Xms
tej samej wartości -Xmx
powoduje, że JVM rozpoczyna pracę z maksymalną ilością pamięci, z której może korzystać.
Linux / Ubuntu:
Za pomocą
update-alternatives --config java
-XmX
) zależy od pamięci systemu. Kiedy zadałem pytanie, 512m było zoptymalizowaną wartością dla mojego starego netbooka WinXP. Przeczytaj więcej tutaj: stackoverflow.com/questions/4304312/…
Kolejne zwiększenie wydajności można uzyskać, wyłączając dekoracje etykiet (Windows -> Preferences; General -> Appearance -> Label Decorations
) i wyłączając nieużywane możliwości podczas uruchamiania ( Windows -> Preferences; General -> Startup and Shutdown
).
Możesz także uzyskać dodatkową wydajność, wybierając inną strategię usuwania śmieci w zależności od JVM.
Jeśli masz dość cyklów restartu, możesz użyć JavaRebel z ZeroTurnaround. To skróci czas spędzony na ponownym uruchomieniu serwera / klienta.
Chociaż nie jest bezpośrednio związany z Eclipse:
Jeśli korzystasz z systemu Windows 7 (i prawdopodobnie Windows Vista), pamiętaj o wyłączeniu indeksowania plików w folderze obszaru roboczego, jeśli twoje rzeczy znajdują się w domyślnym miejscu - folderze domowym. System Windows domyślnie indeksuje wszystko w folderze domowym, a zwykle jest to tylko marnowanie przestrzeni roboczej. (Kliknij prawym przyciskiem myszy folder obszaru roboczego w Eksploratorze, Właściwości -> Zaawansowane ).
Eclipse leniwie ładuje wtyczki, a najpopularniejsze wtyczki, takie jak Subclipse , nie robią nic, jeśli ich nie używasz. W ogóle nie spowalniają Eclipse w czasie wykonywania i nie pomoże ci ich wyłączyć. W rzeczywistości Mylyn wykazał, że zmniejsza zużycie pamięci Eclipse, gdy jest używany prawidłowo.
Korzystam z Eclipse z mnóstwem wtyczek bez żadnego spadku wydajności.
To nie tylko pamięć, którą musisz zwiększyć za pomocą przełącznika -Xmx, ale także rozmiar generatora . Myślę, że problem został rozwiązany w Eclipse 3.4.
Jest jeszcze jedna rzecz, która naprawdę przyspiesza Eclipse zarówno w systemie Windows, a zwłaszcza w Linuksie - umieszczenie JVM na dysku RAM.
W systemie Windows można użyć komercyjnego sterownika dysku RAM firmy Qsoft .
W przypadku systemu Linux użyj dowolnej metody opisanej w wielu artykułach w Internecie. Ważne jest, aby zapewnić dodatkowe miejsce na dysku RAM, które jest o 10% większe niż rozmiar JVM.
Sprawdź to. To naprawdę robi różnicę.
grep -r
lub może użyć vmtouch
do załadowania stron do pamięci podręcznej fs?
Daję mu mnóstwo pamięci (dodaj -Xmx
przełącznik do polecenia, które ją uruchamia) i staram się unikać zamykania i ponownego uruchamiania - uważam, że najgorsze opóźnienia są przy uruchamianiu, więc danie mu dużej ilości pamięci RAM pozwala mi iść dłużej, zanim się zawiesi na zewnątrz.
Wraz z najnowszym oprogramowaniem (najnowszym Eclipse i Javą) i większą ilością pamięci RAM może być konieczne
Stroiłem też vmargs i takie tam. Ale tym, co naprawdę przyspieszyło Eclipse w systemie Windows, jest „właściwa” konfiguracja oprogramowania antywirusowego. Musisz wyłączyć skanowanie spakowanych plików na żądanie. pliki jar i wiele plików związanych z javą jest wypełnionych algorytmem PKZIP w celu zaoszczędzenia miejsca. Ponieważ Eclipse wykorzystuje mnóstwo plików Java, antywirus próbuje indywidualnie rozpakować i przeskanować każdy z nich. Na platformie Windows: wyłącz skanowanie na żądanie spakowanych plików, w przeciwnym razie Eclipse będzie działał wyjątkowo wolno. Należy pamiętać, że wyłączenie tej opcji niestety osłabia system przed atakami, większość złośliwego oprogramowania korzysta z programów pakujących.
Zaimplementowałem wtyczkę, aby skonfigurować funkcje ładowane w środowisku wykonawczym, aby poprawić wydajność i zmniejszyć konflikt między różnymi wtyczkami.
Być może zainstalowałeś wiele funkcji w swoim Eclipse, takich jak narzędzia programistyczne dla Androida, narzędzia programistyczne C / C ++, PHP , SVN , wtyczki Git i ClearCase . Dlatego Eclipse jest ciężki i kosztuje dużo pamięci, a niektóre z nich nie są często używane.
Więc możesz użyć mojego narzędzia do tworzenia różnych zasad środowiska wykonawczego, takich jak Android, Git i podstawowe środowisko Eclipse, inne zawiera C / C ++, SVN i podstawowe środowisko Eclipse. Następnym razem Eclipse załaduje tylko określone funkcje, jeśli korzystasz z zasad, które mają tylko Androida i Git.
Możesz go wypróbować i przekazać mi swoją opinię. :)
Nazwa tego narzędzia to Equinox Advanced Configurator .
Szybka maszyna nie do przecenienia. 16-32 GB pamięci RAM, SSD i przyzwoity procesor ... i kto tam jest.
Najlepsze praktyki w tym wątku zostały zaimplementowane w darmowym Optymalizatorze dla Eclipse , od ZeroTurnaround .
W czym to pomaga?
Więcej informacji znajdziesz w tym artykule RebelLabs .
Postaraj się skonfigurować ścieżkę kompilacji. Uzupełnianie kodu zużywa dużo pamięci, jeśli musi przejść przez cały folder projektu.
Doświadczyłem znacznej poprawy wydajności przy ograniczaniu liczby otwartych kart (w przeszłości często miałem ponad 30 otwartych kart). Możesz pozwolić Eclipse zająć się tym automatycznie:
Okno -> Preferencje -> Edytory -> zamknij automatycznie redaktorów
8 otwartych kart to kwota, zanim pojawi się znak >>, więc zwykle zostawiam go na 8.
Podczas otwierania kolejnych kart te, do których ostatnio uzyskiwano dostęp, zostaną zamknięte.
-> Gdy wszystkie edytory są brudne lub przypięte
Jeśli ma niezapisane modyfikacje, możesz poprosić o zapisanie i ponowne użycie (karta zostanie zamknięta, na jej miejscu otworzy się nowa). Lub możesz otworzyć nowy koniec edytora, zwiększając w ten sposób liczbę otwartych kart (dyskretny wybór).
Jeśli chcesz mieć pewność, że niektóre karty nigdy nie zamykają się automatycznie, możesz je przypiąć. Kliknięcie ikony pinezki (ikona po prawej stronie paska narzędzi, z „edytorem pinów” jako tekstem narzędzia).
Spróbuj tego też, poprawi to wydajność:
czyszczenie indeksów - {ścieżka obszaru roboczego} .metadata.plugins \ org.eclipse.jdt.core czyszczenie historii - {ścieżka obszaru roboczego} .metadata.plugins \ org.eclipse.core.resources.history
Czyszczenie powyższych folderów nie wpłynie na pliki projektu.
**Tips for making Eclipse IDE Faster**
Zaćmienie będzie działać szybciej podczas pracy z małymi projektami. Ale kiedy będziesz musiał pracować z dużym projektem, zirytujesz się jego szybkością. Nawet z ogromną pamięcią RAM nie będziesz zadowolony z jej prędkości, a poniższe kroki pomogą zaćmieniu, aby zwiększyć jego szybkość
Usuń niechcianą aktywację niektórych wtyczek podczas uruchamiania, przechodząc do Windows–> preferencje–> Ogólne–> Uruchamianie i zamykanie również upewnij się, że nie używasz tych wtyczek w żadnym z twoich widoków
Wyłączenie dekoracyjnych etykiet, które są dla Ciebie mniej użyteczne, również pomoże ci zyskać na wydajności. Przejdź do systemu Windows–> Preferencje–> Ogólne–> Wygląd–> Etykieta -> Dekoracje
Zamknij niechciane projekty i skorzystaj z opcji zestawu roboczego, aby płynnie przechodzić z jednej grupy projektu do drugiej.
Skonfiguruj eclipse.ini, który będzie dostępny w zainstalowanej lokalizacji eclipse.
Configuring eclipse.ini should be based on your RAM
-Xms256m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
Zajrzyj również na http://wiki.eclipse.org/Eclipse.ini, aby uzyskać więcej opcji konfiguracji eclipse.ini.
Nie trzymaj wielu kart otwartych w edytorze. Lepiej mieć około 20 zakładek. Regularnie zamykaj nieużywane karty. Aby otworzyć zasób, zawsze możemy użyć ctrl + shift + R i ctrl + shift + T (zasób java) zamiast otwierania wielu kart doświadczyłem znacznej poprawy wydajności przy ograniczaniu liczby otwartych kart (w przeszłości często miałem 30 + otwarte karty). Możesz pozwolić Eclipse zająć się tym automatycznie: Window-> Preferencje-> Redakcja-> zamknijedytory automatycznie 8 otwartych kart to kwota przed pojawieniem się znaku >>, więc ustawiłem 14 jako moją wartość domyślną. Podczas otwierania kolejnych kart te, do których ostatnio uzyskiwano dostęp, zostaną zamknięte. Gdy wszystkie edytory są brudne lub przypięte. Jeśli ma niezapisane modyfikacje, możesz poprosić o zapisanie i ponowne użycie (karta zostanie zamknięta, na jej miejscu otworzy się nowa). Lub możesz otworzyć nowy koniec edytora, zwiększając w ten sposób liczbę otwartych kart (dyskretny wybór). Jeśli chcesz mieć pewność, że niektóre karty nigdy nie zamykają się automatycznie, możesz je przypiąć. Kliknięcie ikony pinezki (ikona po prawej stronie paska narzędzi, z „edytorem pinów” jako tekstem narzędzia).
Przejdź do systemu Windows -> Preferencje -> Walidacja i odznacz wszystkie walidatory , których nie chcesz lub nie potrzebujesz.
Przejdź do systemu Windows -> Preferencje -> Ogólne -> Wygląd -> i odznacz dowolną animację, której nie chcesz lub nie potrzebujesz.
Przejdź do systemu Windows -> Preferencje -> Maven i zaznacz „nie aktualizuj automatycznie zależności” .
Cóż, jeśli rozwijasz GWT aplikację za pomocą Eclipse, to jest to sposób:
Błąd braku pamięci w środowisku Eclipse
Pamiętaj również, aby dodać te same argumenty maszyny wirtualnej do konfiguracji trybu hostowanego.
Jeśli używasz Maven i bluszczu, sprawdź ich konsole na wypadek, gdyby wstrzymywały przetwarzanie podczas kompilacji. Używam bluszczu, a ponadto mam pewne pliki JAR (wewnętrzne) zmieniające się w tej samej wersji, więc musi cały czas ćwiczyć, aby je pobrać.
Jeśli zdefiniowałeś projekt na dysku sieciowym, będziesz odczuwać opóźnienie podczas procesów typu kompilacja / odczyt / zapis.
Wyłącz / odinstaluj wtyczki, których nie potrzebujesz.
Bliska perspektywa, której nie potrzebujesz
Zamknij nieużywane połączenia z bazą danych
W szczególnych przypadkach zła wydajność może być spowodowana uszkodzeniem baz danych h2 lub nwire. Przeczytaj Pięć wskazówek dotyczących przyspieszenia Eclipse PDT i nWire aby uzyskać więcej informacji.
Tam, gdzie pracuję, jesteśmy zależni od VM do uruchomienia Debiana . Zainstalowałem inną wersję Eclipse na maszynie wirtualnej do testowania celów, ale czasami powoduje to konflikty, jeśli mam uruchomioną inną wersję Eclipse. Istnieje folder współdzielony, który udostępnia obie wersje Eclipse. Przypadkowo opuściłem instalację Debian Eclipse uruchomioną raz w tle, co dało mi uszkodzone pliki bazy danych.
Oprócz konfiguracji eclipse.ini do wykorzystania pamięci. Skonfigurowałem przez „Opcje uruchamiania i wyłączania”. Moje Eclipse płonie teraz szybko.
Jedynym prawdziwym sposobem na przyspieszenie Eclipse za pomocą standardowych wtyczek jest zwiększenie pamięci, aw niektórych przypadkach dostęp do szybszej przestrzeni dyskowej / defragmentowanego dysku twardego.
Poza tym nie można wiele zrobić pod względem wydajności: większość standardowych wtyczek nie ma ciągłego kosztu działania, nawet Mylyn jest stosunkowo szybki.
Pomocna może być również aktualizacja do najnowszej JVM obsługiwanej na twoim komputerze.
Niektórzy ludzie przechodzą na starsze wersje Eclipse, aby uzyskać lepszą wydajność. Sensowne może być również użycie klasycznego Eclipse zamiast oficjalnych wydań.
Spróbuj tych. Istnieją dwa sposoby.
Pierwsza procedura
Zobacz ten artykuł.
http://www.javacodegeeks.com/2014/06/the-real-way-to-make-eclipse-run-faster-on-ubuntu.html
Druga procedura.
Wykonaj polecenie w terminalu.
ramdisk
aby uzyskać lepszą wydajność i szybką reakcję dla Ubuntu.
Ramdisk jest częścią pamięci systemowej. Ubuntu domyślnie używa połowy pamięci fizycznej (RAM) jako ramdysku i jest na nim zamontowane
/ dev / shm
, można go używać tak samo, jak normalnego miejsca na dysku (twórz pliki i foldery i manipuluj nimi z lepszą wydajnością, jeśli były one przechowywane na dysku twardym). Jeśli ramdysk zużywa więcej niż połowę pamięci RAM, dane zostaną przeniesione do przestrzeni wymiany. Jeśli ramdysk zużywa mniej, pozostałe mogą nadal robić to, co robi pamięć RAM.
Ustaw górny limit ramdysku
Jak wspomniano powyżej, ramdysk domyślnie może zużywać połowę pamięci RAM. Jeśli chcesz zmienić górny limit, wykonaj następujące czynności:
Edytuj / etc / fstab przez swojego ulubionego edytora:
gksudo gedit / etc / fstab
Znajdź tę linię i zmień, aby wyglądała tak (dodaj tę linię, jeśli nie istnieje, i zmień 512M na to, co lubisz.):
tmpfs / dev / shm domyślne ustawienia tmpfs, rozmiar = 512M 0 0
Uruchom ponownie lub ponownie zainstaluj
/ dev / shm
Zamontuj / tmp na ramdysku
Aby ułatwić obsługę, możesz zamontować katalog w
/dev/shm
za pomocą następujących poleceń:
mkdir / dev / shm / tmp
chmod 1777 / dev / shm / tmp
mount --bind / dev / shm / tmp / tmp