Wie können Sie die Erfahrung mit Eclipse beschleunigen?
Zum Beispiel: Ich deaktiviere alle Plugins, die ich nicht benötige (Mylyn, Subclipse,…).
Anstatt ein Plugin für Mercurial zu verwenden , konfiguriere ich TortoiseHG als externes Tool.
Wie können Sie die Erfahrung mit Eclipse beschleunigen?
Zum Beispiel: Ich deaktiviere alle Plugins, die ich nicht benötige (Mylyn, Subclipse,…).
Anstatt ein Plugin für Mercurial zu verwenden , konfiguriere ich TortoiseHG als externes Tool.
Antworten:
Die drei einflussreichsten Faktoren für die Eclipse-Geschwindigkeit sind:
Der "gleiche" Arbeitsbereich in Indigo (3.7.2) SR2 wird in 4 Sekunden geladen, in Kepler SR2 (4.3.2) in 7 Sekunden und in Luna (4.4.0) in 10 Sekunden. Alle sind Java EE-Bundles. Neuere Versionen haben mehr gebündelte Plugins, aber der Trend ist immer noch offensichtlich. (Mit "gleichem" Arbeitsbereich meine ich: gleiche (zusätzlich installierte) Plugins verwendet, gleiche Projekte aus der Versionskontrolle ausgecheckt).
Starten Sie es mit dem neuesten JDK (Java 14 zum Zeitpunkt des Schreibens, was Sie nicht daran hindert, in Ihrem Eclipse-Projekt mit einem anderen gewünschten JDK zu kompilieren: 1.4.2, 1.5, 1.6 älter ...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
Konfigurieren der eclipse.ini ( eine vollständige eclipse.ini finden Sie in dieser Frage )
-Xms512m
-Xmx4096m
[...]
Das Xmx
Argument ist die Menge an Speicher, die Eclipse erhält (in einfachen Worten). Mit -Xmx4096m
erhält es 4 GB RAM usw.
Hinweis:
Das Verweisen auf die jvm.dll hat folgende Vorteile:
libjava.so
: Unter Linux, libjava.so
hängt davon ab libjvm.so
, aber das Gegenteil ist nicht der Fall :: $ readelf -d libjava.so
Dynamic segment at offset 0x208a8 contains 25 entries:
Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libjvm.so] [...]
Wenn die Bibliothek solche Informationen enthält, ld.so
wird sie libjvm.so
automatisch geladen , wenn ein Prozess geladen wird libjava.so
.
Fügen -Xverify:none
Sie Ihrer Datei eclipse.ini hinzu .
Dadurch wird Ihre Eclipse-Startzeit erheblich verkürzt (in meinem Fall 50%, wenn nicht mehr). Dadurch wird die VM angewiesen, nicht alle geladenen .class-Dateien zu überprüfen.
Beachten Sie Folgendes : Deaktivieren Sie niemals die Bytecode-Überprüfung in einem Produktionssystem (wie in den Kommentaren erwähnt).
Gehen Sie zu Windows -> Einstellungen -> Validierung und deaktivieren validators
Sie alle gewünschten oder nicht benötigten Elemente .
Für Eclipse 3.7 verwenden Sie Windows -> Einstellungen -> Allgemein -> Starten und Herunterfahren .
Stellen Sie sicher, dass Sie die Sun JVM zum Ausführen von Eclipse verwenden.
Unter Linux, insbesondere Ubuntu, wird Eclipse standardmäßig installiert, um den Open-Source-GCJ zu verwenden, der eine drastisch schlechtere Leistung aufweist. Verwenden Sie update-alternatives --config java
diese Option, um zur Sun JVM zu wechseln und die Benutzerfreundlichkeit der Benutzeroberfläche in Eclipse erheblich zu verbessern.
java -version
sollte so etwas wie sagen openjdk version "1.8.0_131"
). Ich finde, dass OpenJDK 9 für viele Aufgaben eine schlechtere Leistung (höhere Latenz) verursacht.
Schließen Sie alle offenen Projekte, die derzeit nicht verwendet werden.
Versuchen Sie, den automatischen Veröffentlichungsmodus während der Entwicklung auszuschalten.
Danke für die Hinweise. Diese Optionen (oben erwähnt) haben mir sehr geholfen:
Windows:
Erhöhen des Speichers und in Bezug auf meine aktualisierte Java-Version in eclipse.ini:
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none
Da wir die Geschwindigkeit optimieren, wird die JVM durch Festlegen -Xms
des gleichen Werts -Xmx
mit der maximalen Speichermenge gestartet, die sie verwenden darf.
Linux / Ubuntu:
Verwenden von
update-alternatives --config java
-XmX
) hängt vom Arbeitsspeicher Ihres Systems ab. Als ich die Frage stellte, war 512 m der optimierte Wert für mein altes WinXP-Netbook. Lesen Sie hier mehr: stackoverflow.com/questions/4304312/…
Eine weitere Leistungssteigerung kann durch Deaktivieren von Etikettendekorationen ( Windows -> Preferences; General -> Appearance -> Label Decorations
) und durch Deaktivieren nicht verwendeter Funktionen beim Start ( Windows -> Preferences; General -> Startup and Shutdown
) erzielt werden .
Sie können auch zusätzliche Leistung erzielen, indem Sie abhängig von Ihrer JVM eine andere Garbage Collection-Strategie auswählen.
Wenn Sie die Neustartzyklen satt haben, können Sie JavaRebel von ZeroTurnaround verwenden. Dies verkürzt Ihre Zeit für Server / Client-Neustarts.
Obwohl nicht direkt mit Eclipse verwandt:
Wenn Sie Windows 7 (und vermutlich Windows Vista) ausführen, müssen Sie die Dateiindizierung Ihres Arbeitsbereichsordners deaktivieren, wenn sich Ihre Daten an der Standardposition befinden - Ihrem Basisordner. Windows indiziert standardmäßig alles in Ihrem Home-Ordner, und es ist normalerweise nur eine Verschwendung für Ihren Arbeitsbereich. (Klicken Sie im Explorer mit der rechten Maustaste auf den Arbeitsbereichsordner unter Eigenschaften -> Erweitert .)
Eclipse lädt Plug-Ins träge und die meisten gängigen Plug-Ins wie Subclipse tun nichts, wenn Sie sie nicht verwenden. Sie verlangsamen Eclipse während der Laufzeit überhaupt nicht und es hilft Ihnen nicht, sie zu deaktivieren. Tatsächlich wurde gezeigt , dass Mylyn bei korrekter Verwendung den Speicherbedarf von Eclipse verringert.
Ich führe Eclipse mit Tonnen von Plug-Ins ohne Leistungseinbußen aus.
Es ist nicht nur die Erinnerung , dass Sie mit dem -Xmx Schalter erhöhen müssen, es ist auch die Dauerwelle gen Größe . Ich denke, dass das Problem in Eclipse 3.4 gelöst wurde.
Es gibt noch eine andere Sache, die Eclipse sowohl unter Windows als auch insbesondere unter Linux wirklich beschleunigt - das Einlegen der JVM in die RAM-Disk.
Für Windows können Sie den kommerziellen RAM-Disk-Treiber von Qsoft verwenden .
Verwenden Sie für Linux eine der in zahlreichen Artikeln im Internet beschriebenen Methoden. Es ist wichtig, der RAM-Disk zusätzlichen Speicherplatz einzuräumen, der 10% größer ist als die Größe der JVM.
Hör zu. Es macht wirklich einen Unterschied.
grep -r
oder vielleicht verwenden vmtouch
, um die Seiten in den fs-Cache zu laden?
Ich gebe ihm eine Menge Speicher (füge -Xmx
dem Befehl, der ihn startet , einen Schalter hinzu) und versuche zu vermeiden, ihn zu beenden und neu zu starten. Ich finde, dass die schlimmsten Verzögerungen beim Start auftreten. Wenn ich ihm also viel RAM gebe, kann ich länger weitermachen, bevor er abstürzt aus.
Zusammen mit der neuesten Software (neueste Eclipse und Java) und mehr RAM müssen Sie möglicherweise
Ich habe auch Vmargs und so gestimmt. Aber was Eclipse unter Windows wirklich beschleunigt hat, ist die "richtige" Konfiguration der Antivirensoftware. Sie müssen das On-Demand-Scannen gepackter Dateien deaktivieren. JAR-Dateien und viele Dateien im Zusammenhang mit Java sind mit dem PKZIP-Algorithmus gepackt, um Speicherplatz zu sparen. Da Eclipse Tonnen von Java-Dateien verwendet, versucht ein Antivirenprogramm, alle Dateien einzeln zu entpacken und zu scannen. Also für die Windows-Plattform: Deaktivieren Sie das On-Demand-Scannen gepackter Dateien, da Eclipse sonst ungewöhnlich langsam ist. Bitte beachten Sie, dass das Deaktivieren dieses Systems Ihr System leider schwächer gegen Angriffe macht. Die meisten Malware-Programme verwenden Packer.
Ich habe ein Plug-In implementiert, um zu konfigurieren, welche Funktionen zur Laufzeit geladen werden sollen, um die Leistung zu verbessern und den Konflikt zwischen verschiedenen Plug-Ins zu verringern.
Möglicherweise haben Sie viele Funktionen in Ihre Eclipse installiert, z. B. Android-Entwicklungstools, C / C ++ - Entwicklungstools, PHP- , SVN- , Git- und ClearCase- Plug-Ins. Daher ist Eclipse schwer und kostet viel Speicher, und einige von ihnen werden nicht oft verwendet.
Sie können also mein Tool verwenden, um verschiedene Laufzeitrichtlinien zu erstellen, z. B. eine mit Android, Git und Base Eclipse, eine andere mit C / C ++, SVN und Base Eclipse. Beim nächsten Mal würde Eclipse die angegebenen Funktionen nur laden, wenn Sie die Richtlinie verwenden, die nur Android und Git enthält.
Sie können es gerne ausprobieren und mir das Feedback geben. :) :)
Der Name dieses Tools lautet Equinox Advanced Configurator .
Nicht zu unterschätzen ist eine schnelle Maschine. 16-32 GB RAM, SSD und ein anständiger Prozessor ... und wer ist da?
Best Practices in diesem Thread sind im kostenlosen Optimizer For Eclipse von ZeroTurnaround implementiert .
Womit hilft es?
Weitere Informationen finden Sie in diesem Artikel von RebelLabs .
Bemühen Sie sich, Ihren Erstellungspfad zu konfigurieren. Die Code-Vervollständigung benötigt viel Speicher, wenn sie den gesamten Projektordner durchlaufen muss.
Bei der Begrenzung der Anzahl offener Tabs konnte ich eine erhebliche Leistungsverbesserung feststellen (in der Vergangenheit waren häufig mehr als 30 Tabs geöffnet). Sie können Eclipse dies automatisch für Sie erledigen lassen:
Fenster -> Einstellungen -> Editoren -> Editoren automatisch schließen
8 geöffnete Tabulatoren ist der Betrag, bevor das >> -Zeichen angezeigt wird, daher neige ich dazu, ihn bei 8 zu belassen.
Wenn Sie mehr Registerkarten öffnen, werden diejenigen geschlossen, auf die zuletzt zugegriffen wurde.
-> Wenn alle Editoren verschmutzt oder fixiert sind
Wenn nicht gespeicherte Änderungen vorgenommen wurden, können Sie zum Speichern und Wiederverwenden auffordern (die Registerkarte wird geschlossen, an ihrer Stelle wird eine neue geöffnet). Oder Sie können ein neues Editor-Ende öffnen und so die Anzahl der geöffneten Registerkarten erhöhen (die unauffällige Auswahl).
Wenn Sie sicherstellen möchten, dass einige Registerkarten niemals automatisch geschlossen werden, können Sie sie anheften. Klicken Sie dazu auf das Pin-Symbol (das Symbol ganz rechts in der Symbolleiste mit dem "Pin-Editor" als Tooltiptext).
Ich habe alle nicht verwendeten Optionen unter Windows> Einstellungen> Allgemein deaktiviert und dies wirkt sich sehr positiv auf die Leistung aus. Eclipse ist beim Wechseln der Registerkarten immer noch langsam. Ich möchte den Speicher nicht vergrößern, aber beim Scrollen ist es viel schneller. Danke für die Tipps.
Versuchen Sie dies auch, es wird die Leistung verbessern:
Bereinigen von Indizes - {Arbeitsbereichspfad} .metadata.plugins \ org.eclipse.jdt.core Bereinigen des Verlaufs - {Arbeitsbereichspfad} .metadata.plugins \ org.eclipse.core.resources.history
Das Bereinigen der oben genannten Ordner wirkt sich nicht auf die Projektdateien aus.
**Tips for making Eclipse IDE Faster**
Eclipse wird bei der Arbeit mit kleinen Projekten schneller ausgeführt. Wenn Sie jedoch mit einem großen Projekt arbeiten müssen, werden Sie von dessen Geschwindigkeit irritiert sein. Selbst mit einem riesigen RAM werden Sie mit seiner Geschwindigkeit nicht zufrieden sein. Die folgenden Schritte helfen Eclipse, seine Geschwindigkeit zu erhöhen
Entfernen Sie unerwünschte Aktivierung einiger Plugins beim Start, indem Sie zu Windows -> Einstellungen -> Allgemein -> Starten und Herunterfahren gehen. Stellen Sie außerdem sicher, dass Sie diese Plugins in keiner Ihrer Ansichten verwenden
Durch Deaktivieren von Etikettendekorationen, die für Sie weniger nützlich sind, können Sie auch eine gewisse Leistung erzielen. Gehen Sie zu Windows -> Einstellungen -> Allgemein -> Darstellung -> Beschriftung -> Dekorationen
Schließen Sie unerwünschte Projekte und verwenden Sie die Arbeitssatzoption , um reibungslos von einer Projektgruppe zu einer anderen zu wechseln.
Konfigurieren Sie eclipse.ini, das am installierten Speicherort von eclipse verfügbar ist.
Configuring eclipse.ini should be based on your RAM
-Xms256m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
Auch einen Blick auf http://wiki.eclipse.org/Eclipse.ini für mehr Optionen zu konfigurieren eclipse.ini.
Lassen Sie nicht viele Registerkarten im Editor geöffnet. Besser etwa 20 Tabs. Schließen Sie regelmäßig die nicht verwendeten Registerkarten. Um eine Ressource zu öffnen, können wir immer Strg + Umschalt + R und Strg + Umschalt + T (Java-Ressource) verwenden, anstatt viele Registerkarten zu öffnen. Ich habe eine erhebliche Leistungsverbesserung festgestellt, als ich die Anzahl der geöffneten Registerkarten begrenzt habe (in der Vergangenheit hatte ich häufig 30 + Registerkarten geöffnet). Sie können Eclipse dies automatisch für Sie erledigen lassen : Fenster-> Einstellungen-> Editoren-> SchließenEditoren automatisch 8 geöffnete Registerkarten ist der Betrag, bevor das >> -Zeichen angezeigt wird, daher habe ich 14 als Standardwert festgelegt. Wenn Sie mehr Registerkarten öffnen, werden diejenigen geschlossen, auf die zuletzt zugegriffen wurde. Wenn alle Editoren verschmutzt oder fixiert sind. Wenn nicht gespeicherte Änderungen vorgenommen wurden, können Sie zum Speichern und Wiederverwenden auffordern (die Registerkarte wird geschlossen, an ihrer Stelle wird eine neue geöffnet). Oder Sie können ein neues Editor-Ende öffnen und so die Anzahl der geöffneten Registerkarten erhöhen (die unauffällige Auswahl). Wenn Sie sicherstellen möchten, dass einige Registerkarten niemals automatisch geschlossen werden, können Sie sie anheften. Klicken Sie dazu auf das Pin-Symbol (das Symbol ganz rechts in der Symbolleiste mit dem Pin-Editor als Tooltiptext).
Gehen Sie zu Windows -> Einstellungen -> Validierung und deaktivieren Sie alle Validatoren, die Sie nicht möchten oder benötigen.
Gehen Sie zu Windows -> Einstellungen -> Allgemein -> Darstellung -> und deaktivieren Sie alle Animationen, die Sie nicht möchten oder benötigen.
Gehen Sie zu Windows -> Einstellungen -> Maven und aktivieren Sie "Abhängigkeiten nicht automatisch aktualisieren" .
Wenn Sie eine GWT- Anwendung mit Eclipse entwickeln, ist dies der folgende Weg:
Denken Sie auch daran, der Konfiguration im gehosteten Modus dieselben VM-Argumente hinzuzufügen.
Wenn Sie Maven und Ivy verwenden, überprüfen Sie deren Konsolen, falls sie während der Erstellung die Verarbeitung beeinträchtigen. Ich benutze Ivy und außerdem habe ich bestimmte JAR-Dateien (intern), die sich mit derselben Version ändern, sodass sie ständig trainiert werden müssen, um sie abzurufen.
Wenn Sie Ihr Projekt auf einem Netzlaufwerk definiert haben, tritt auch beim Erstellen / Lesen / Schreiben von Prozessen eine Verzögerung auf.
Deaktivieren / Deinstallieren Sie nicht benötigte Plugins.
Schließen Sie die Perspektive, die Sie nicht brauchen
Schließen Sie nicht verwendete Datenbankverbindungen
In besonderen Fällen kann eine schlechte Leistung auf beschädigte h2- oder nwire-Datenbanken zurückzuführen sein. Weitere Informationen finden Sie in den fünf Tipps zur Beschleunigung von Eclipse PDT und nWire .
Wo ich arbeite, sind wir auf eine VM angewiesen, um Debian auszuführen . Ich habe eine andere Eclipse-Version auf der VM installiert, um Zwecke zu testen. Dies führt jedoch manchmal zu Konflikten, wenn die andere Eclipse-Version ausgeführt wird. Es gibt einen freigegebenen Ordner, den beide Eclipse-Versionen gemeinsam nutzen. Ich habe versehentlich die Debian Eclipse-Installation einmal im Hintergrund laufen lassen und dadurch beschädigte Datenbankdateien erhalten.
Abgesehen von der Konfiguration von eclipse.ini für die Speichernutzung. Ich habe durch "Start & Shutdown-Optionen" konfiguriert. Meine Sonnenfinsternis lodert jetzt schnell.
Die einzige Möglichkeit, Eclipse mit den Standard-Plug-Ins zu beschleunigen, besteht darin, ihm mehr Speicher und in einigen Fällen Zugriff auf einen schnelleren Speicherplatz / eine defragmentierte Festplatte zu geben.
Darüber hinaus können Sie in Bezug auf die Leistung nicht viel tun: Die meisten Standard-Plug-Ins verursachen keine kontinuierlichen Laufzeitkosten, selbst Mylyn ist relativ schnell.
Ein Upgrade auf die neueste JVM, die auf Ihrem Computer unterstützt wird, kann ebenfalls hilfreich sein.
Einige Benutzer führen ein Downgrade auf ältere Eclipse-Versionen durch, um eine bessere Leistung zu erzielen. Es kann auch sinnvoll sein, Eclipse classic anstelle der offiziellen Versionen zu verwenden.
Probiere diese. Es gibt zwei Möglichkeiten.
Erstes Verfahren
Lesen Sie diesen Artikel.
http://www.javacodegeeks.com/2014/06/the-real-way-to-make-eclipse-run-faster-on-ubuntu.html
Zweites Verfahren.
Führen Sie den Befehl im Terminal aus.
ramdisk
um eine bessere Leistung und eine schnelle Reaktion für Ubuntu zu erzielen.
Ramdisk ist Teil des Systemspeichers. Ubuntu verwendet standardmäßig die Hälfte des physischen Speichers (RAM) als Ramdisk und ist darauf gemountet
/ dev / shm
kann wie normaler Speicherplatz verwendet werden (Dateien und Ordner erstellen und mit besserer Leistung bearbeiten, anstatt sie auf der Festplatte zu speichern). Wenn die Ramdisk mehr als die Hälfte des Arbeitsspeichers verwendet, werden die Daten in den Auslagerungsbereich verschoben. Wenn Ramdisk weniger verwendet, kann der Rest immer noch das tun, was RAM tut.
Stellen Sie die Obergrenze der Ramdisk ein
Wie oben erwähnt, kann Ramdisk standardmäßig die Hälfte des Arbeitsspeichers verwenden. Wenn Sie die Obergrenze ändern möchten, führen Sie die folgenden Schritte aus:
Bearbeiten Sie / etc / fstab mit Ihrem bevorzugten Editor:
gksudo gedit / etc / fstab
Suchen Sie diese Zeile und ändern Sie sie, damit sie so aussieht (fügen Sie diese Zeile hinzu, falls nicht vorhanden, und ändern Sie 512M nach Ihren Wünschen.):
tmpfs / dev / shm tmpfs Standardeinstellungen, Größe = 512M 0 0
Starten Sie neu oder mounten Sie erneut
/ dev / shm
Mount / tmp auf Ramdisk
Um die Verwendung zu vereinfachen, können Sie ein Verzeichnis in ein Verzeichnis einbinden
/dev/shm
durch folgende Befehle:
mkdir / dev / shm / tmp
chmod 1777 / dev / shm / tmp
mount --bind / dev / shm / tmp / tmp