315 Stimmen

Was sind die besten JVM-Einstellungen für Eclipse?

Was sind die besten JVM-Einstellungen, die Sie für die Ausführung von Eclipse gefunden haben?

8 Stimmen

Die neue und verbesserte eclipse.ini Einstellungen für Helios 3.6 finden Sie hier (unten, in einer neuen Antwort): stackoverflow.com/questions/142357/

6 Stimmen

Es ist erstaunlich, dass die als nicht konstruktiv geschlossene Frage eine so hohe Bewertung hat...

1 Stimmen

Diese Frage wurde gestellt, als die letzte Antwort auf eine derartige Frage im Jahr 2008 lautete eclipsezone.com/eclipse/foren/t20732.html . Der Antwortsatz ist gewachsen, da neue Versionen von Eclipse und Java veröffentlicht wurden und die Antworten immer wieder aktualisiert wurden. Das Schließen der Frage führt dazu, dass die Antworten veraltet sind. Die einzige Möglichkeit, die mir einfällt, um diese Frage umzuformulieren, wäre, sie versionsspezifisch zu formulieren, was meiner Meinung nach noch schlimmer wäre, da dies dazu führen würde, dass mehrere Fragen im Grunde das gleiche Problem beantworten würden

314voto

VonC Punkte 1117238

Es ist wieder einmal so weit: "eclipse.ini take 3" die Einstellungen schlagen zurück!

Eclipse Helios 3.6 und 3.6.x Einstellungen

Alt-Text http://www.eclipse.org/home/promotions/friends-helios/helios.png

Nach den Einstellungen für Eclipse Ganymed 3.4.x y Eclipse Galileo 3.5.x Hier finden Sie einen detaillierten Blick auf eine "optimierte" eclipse.ini Einstellungsdatei für Eclipse Helios 3.6.x:

( Mit "optimiert" meine ich, dass ich in der Lage bin, ein vollwertiges Eclipse auf unserer beschissenen Workstation bei der Arbeit auszuführen, einem alten P4 von 2002 mit 2Go RAM und XPSp3. Aber ich habe auch getestet, die gleichen Einstellungen auf Windows7 )

Eclipse.ini

alt text

WARNUNG Für Nicht-Windows-Plattformen verwenden Sie die Sun-eigene Option -XX:MaxPermSize anstelle der Eclipse-eigenen Option --launcher.XXMaxPermSize .
Das heißt: Es sei denn, Sie verwenden die neueste jdk6u21 bauen 7 . Siehe den Abschnitt zu Oracle weiter unten.

-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

Anmerkung:
Anpassen der p2.reconciler.dropins.directory in ein externes Verzeichnis Ihrer Wahl.
Siehe dies SO antworten . Die Idee ist, neue Plugins unabhängig von einer Eclipse-Installation in einem Verzeichnis ablegen zu können.

Die folgenden Abschnitte beschreiben, was in diesem eclipse.ini Datei.


Die gefürchtete Oracle JVM 1.6u21 (vor Build 7) und Eclipse stürzt ab

Andrew Niefer hat mich auf diese Situation aufmerksam gemacht und eine Blog-Beitrag über ein nicht standardisiertes vm-Argument ( -XX:MaxPermSize ) und kann dazu führen, dass vms von anderen Anbietern überhaupt nicht starten.
Aber die Eclipse-Version dieser Option ( --launcher.XXMaxPermSize ) funktioniert nicht mit dem neuen JDK (6u21, es sei denn, Sie verwenden den 6u21 Build 7, siehe unten).

El endgültig Lösung ist auf der Eclipse Wiki und für Helios unter Windows mit 6u21 pre build 7 nur:

  • das Herunterladen der festen eclipse_1308.dll (16. Juli 2010)
  • und legen Sie sie in

    (eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

Das war's. Hier gibt es keine Einstellungen zu ändern (wiederum nur für Helios unter Windows mit einer 6u21 pre build 7 ).
Für Nicht-Windows-Plattformen müssen Sie auf die proprietäre Option von Sun zurückgreifen -XX:MaxPermSize .

Das Problem beruht auf einer Regression: JVM-Identifizierung schlägt aufgrund von Oracle-Rebranding in java.exe fehl und ausgelöst Wanze 319514 auf Eclipse.
Andrew kümmerte sich um Fehler 320005 - [Launcher] --launcher.XXMaxPermSize: isSunVM sollte für Oracle true zurückgeben aber das wird nur für Helios 3.6.1 gelten.
Francis Upton , ein weiterer Eclipse-Committer, reflektiert die gesamte Situation .

Update u21b7, 27. Juli :
Oracle hat die Änderung für die nächste Version von Java 6 rückgängig gemacht und wird sie erst in JDK 7 wieder einführen. .
Wenn Sie jdk6u21 bauen 7 können Sie auf die --launcher.XXMaxPermSize (Eclipse-Option) anstelle von -XX:MaxPermSize (die nicht standardisierte Option).
Die automatische Erkennung im C-Start-Shim eclipse.exe sucht immer noch nach dem " Sun Microsystems ", aber mit 6u21b7 funktioniert es jetzt - wieder.

Im Moment behalte ich noch die -XX:MaxPermSize Version (denn ich habe keine Ahnung, wann alle die Eclipse-Version auf den Markt bringen werden. rechts JDK).


Implizite `-Startup` und `-Launcher.library`

Im Gegensatz zu den vorherigen Einstellungen wird der genaue Pfad für diese Module nicht mehr festgelegt, was praktisch ist, da er zwischen verschiedenen Eclipse 3.6.x Versionen variieren kann:

  • Startup: Wenn nicht angegeben, sucht die ausführbare Datei im Plugins-Verzeichnis nach dem org.eclipse.equinox.launcher Bündel mit der höchsten Version.
  • launcher.library: Wenn nicht angegeben, sucht die ausführbare Datei in der plugins Verzeichnis für das entsprechende org.eclipse.equinox.launcher.[platform] Fragment mit der höchsten Version und verwendet die gemeinsam genutzte Bibliothek namens eclipse_* innen.

JDK6 verwenden

Das JDK6 ist nun ausdrücklich erforderlich, um Eclipse zu starten:

-Dosgi.requiredJavaVersion = 1.6

Este SO Frage berichtet von einer positiven Entwicklung für Mac OS.


+UnlockExperimentalVMOptions

Die folgenden Optionen sind Teil der experimentellen Optionen der Sun JVM.

-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods

Über sie wurde in diesem Bericht berichtet Blogbeitrag um Eclipse möglicherweise zu beschleunigen.
Siehe alle JVM-Optionen hier und auch in der offiziellen Java-Hotspot-Optionen-Seite .
Anmerkung: Die detaillierte Liste dieser Optionen berichtet, dass UseFastAccessorMethods kann standardmäßig aktiv sein.

Siehe auch "Aktualisieren Sie Ihre JVM" :

Zur Erinnerung: G1 ist der neue Garbage Collector, der für das JDK 7 vorbereitet wird, aber bereits in der Version 6 von u17 verwendet wird.


Öffnen von Dateien in Eclipse über die Kommandozeile

Siehe die Blog-Beitrag von Andrew Niefer über diese neue Option:

--launcher.defaultAction
openFile

Dies sagt dem Launcher, dass er, wenn er mit einer Befehlszeile aufgerufen wird, die nur Argumente enthält, die nicht mit " - ", dann sollten diese Argumente so behandelt werden, als ob sie auf " --launcher.openFile ".

eclipse myFile.txt

Dies ist die Art von Befehlszeile, die der Launcher unter Windows erhält, wenn Sie auf eine Datei doppelklicken, die mit Eclipse verbunden ist, oder wenn Sie Dateien auswählen und " Open With " oder " Send To " Sonnenfinsternis.

Relative Pfade wird zuerst gegen das aktuelle Arbeitsverzeichnis und dann gegen das Eclipse-Programmverzeichnis aufgelöst.

Ver Wanze 301033 als Referenz. Ursprünglich Wanze 4922 (Oktober 2001, 9 Jahre später korrigiert).


p2 und der unsignierte Dialog Prompt

Wenn Sie dieses Dialogfeld bei der Installation Ihrer vielen Plugins leid sind:

alt text

, fügen Sie Ihre eclipse.ini :

-Declipse.p2.unsignedPolicy=allow

Siehe dies Blogbeitrag de Chris Aniszczy und die Fehlerbericht 235526 .

Ich möchte anmerken, dass die Sicherheitsforschung die Tatsache unterstützt, dass weniger Aufforderungen besser sind.
Die Menschen ignorieren Dinge, die im Fluss der Dinge, die sie erledigen wollen, auftauchen.

Für 3.6 sollten wir keine Warnungen mitten im Arbeitsablauf einblenden - egal wie sehr wir sie vereinfachen, die Leute werden sie einfach ignorieren.
Stattdessen sollten wir alle Probleme sammeln, die nicht diese Pakete mit Problemen zu installieren und stattdessen den Benutzer zu einem Punkt im Arbeitsablauf zurückzubringen, an dem er Korrekturen vornehmen kann - Vertrauen hinzufügen, Sicherheitsrichtlinien lockerer konfigurieren, usw. Dies wird als sichere Inszenierung". .

---------- 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

Zusätzliche Optionen

Diese Optionen sind nicht direkt in der eclipse.ini oben, kann aber im Bedarfsfall nützlich sein.


Das Problem der "user.home" unter Windows7

Wenn eclipse startet, liest es seine Keystore-Datei (in der Passwörter gespeichert werden), eine Datei, die sich in user.home .
Wenn das aus irgendeinem Grund user.home nicht ordnungsgemäß in einen vollständigen Pfad auflöst, lässt sich Eclipse nicht starten.
Ursprünglich aufgewachsen in diese SO-Frage Wenn dies bei Ihnen der Fall ist, müssen Sie die Keystore-Datei auf einen expliziten Pfad umdefinieren (keine user.home mehr, die beim Start aufgelöst werden muss)

Fügen Sie Ihr eclipse.ini :

-eclipse.keyring 
C:\eclipse\keyring.txt

Dies wurde verfolgt von Wanze 300577 wurde es in diesem Fall gelöst andere SO Frage .


Debug-Modus

Moment, es gibt mehr als eine Einstellungsdatei in Eclipse.
wenn Sie zu Ihrem eclipse.ini die Option:

-debug

aktivieren Sie die Debug-Modus und Eclipse sucht nach eine andere Einstellungsdatei: a .options Datei, in der Sie einige OSGI-Optionen angeben können.
Und das ist großartig, wenn Sie neue Plugins über den Dropins-Ordner hinzufügen.
Fügen Sie in Ihrer .options-Datei die folgenden Einstellungen hinzu, wie in diesem Abschnitt beschrieben Blogbeitrag " Dropins-Diagnose " :

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

P2 informiert Sie darüber, welche Pakete gefunden wurden in dropins/ Ordner, welcher Antrag gestellt wurde und wie die Installation geplant ist. Vielleicht ist es keine detaillierte Erklärung dessen, was tatsächlich passiert ist und was schief gelaufen ist, aber es sollte Ihnen gute Informationen darüber geben, wo Sie anfangen sollten:

  • War Ihr Bündel in dem Plan enthalten?
  • War es ein Installationsproblem (P2-Fehler)
  • oder ist es vielleicht einfach nicht optimal, Ihre Funktion einzubeziehen?

Das kommt von Bug 264924 - [reconciler] Keine Diagnose von Dropins-Problemen , wodurch das folgende Problem endlich gelöst wird

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

Dies ist eine problematische Konfiguration, da OCL von EMF abhängt, das nicht vorhanden ist.
3.5M5 bietet keine Diagnose für dieses Problem.

Beginn der Sonnenfinsternis.
Keine offensichtlichen Probleme. Nichts im Fehlerprotokoll.

  • Help / About / Plugin Details zeigt org.eclipse.ocl.doc , aber nicht org.eclipse.ocl .
  • Help / About / Configuration Details hat keine (diagnostische) Erwähnung von org.eclipse.ocl .
  • Help / Installation / Information Installed Software hat keine Erwähnung von org.eclipse.ocl .

Wo sind die schönen Fehlermarkierungen?


Manifest-Klassenpfad

Siehe dies Blog-Eintrag :

  • In Galileo (auch bekannt als Eclipse 3.5) begann JDT damit, den manifesten Klassenpfad in Bibliotheken aufzulösen, die dem Build-Pfad des Projekts hinzugefügt wurden. Dies funktionierte unabhängig davon, ob die Bibliothek dem Build-Pfad des Projekts direkt oder über einen Klassenpfad-Container hinzugefügt wurde, wie z. B. die von JDT bereitgestellte Benutzerbibliotheksfunktion oder eine von einem Drittanbieter implementierte.
  • In Helios wurde dieses Verhalten geändert, um Klassenpfad-Container von der Manifest-Klassenpfadauflösung auszuschließen.

Das bedeutet, dass einige Ihrer Projekte möglicherweise nicht mehr in Helios kompiliert werden können.
Wenn Sie zum Galileo-Verhalten zurückkehren wollen, fügen Sie hinzu:

-DresolveReferencedLibrariesForContainers=true

Ver Wanze 305037 , Wanze 313965 y Wanze 313890 für Referenzen.


IPV4-Stapel

Este SO Frage erwähnt eine mögliche Lösung, wenn der Zugriff auf Plugin-Update-Seiten nicht möglich ist:

-Djava.net.preferIPv4Stack=true

Ich erwähne das hier nur für den Fall, dass es bei Ihrer Konfiguration hilfreich sein könnte.


Mögliche Optimierungen von JVM1.7x64

この記事 Berichte:

Fürs Protokoll: Die schnellsten Optionen, die ich bisher für meinen Benchmark-Test mit der 1.7 x64 JVM unter Windows gefunden habe, sind:

-Xincgc 
-XX:-DontCompileHugeMethods 
-XX:MaxInlineSize=1024  
-XX:FreqInlineSize=1024 

Aber ich arbeite noch daran...

0 Stimmen

Wie unter diesem Link, oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#icms müssen Sie -XX:+UseConcMarkSweepGC haben, um -XX:+CMSIncrementalMode verwenden zu können. Das fehlt in Ihrem obigen Beispiel. Wir würden CMSIncrementalMode nicht brauchen, wenn wir G1 GC verwenden, habe ich Recht?

0 Stimmen

@Satish: Ich glaube, Sie haben Recht. Ich werde diese beiden Konfigurationen separat testen und entsprechend aktualisieren.

1 Stimmen

Hey, G1GC ist eine Katastrophe auf einem Mac. Es frisst den gesamten Rechner und erfordert einen Neustart.

76voto

VonC Punkte 1117238

Eclipse Galileo 3.5 und 3.5.1 Einstellungen

Derzeit (November 2009) teste ich mit jdk6 Update 17 die folgende Konfiguration von Optionen (mit Galileo -- eclipse 3.5.x, siehe unten für 3.4 o oben für Helios 3.6.x ):
(passen Sie natürlich die relativen Pfade in dieser eclipse.ini an die korrekten Pfade für Ihr Setup an)

Anmerkung: für eclipse3.5 ersetzen startup y launcher.library Zeilen von:

-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

eclipse.ini 3.5.1

-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

Siehe auch meine Originalantwort oben für weitere Informationen.

Änderungen (ab Juli 2009)

  • bezieht sich auf den Launcher und nicht auf das Framework
  • gemeinsam genutzte Plugins: org.eclipse.equinox.p2.reconciler.dropins.directory Option.
  • Galileo unterstützt vollständig relative Pfade für Workspace oder VM (um zu vermeiden, dass diese von einer Eclipse-Installation zur anderen geändert werden müssen, wenn natürlich die JVM und der Workspace gleich bleiben)
    Zuvor wurden diese relativen Pfade immer wieder in absolute Pfade umgeschrieben, wenn eclipse sich selbst startete...
  • Sie können auch das JRE-Verzeichnis einer Java JDK-Installation in Ihr Eclipse-Verzeichnis kopieren

Vorbehalte

Es gab einen Fehler mit ignorierte Haltepunkte tatsächlich mit dem JDK zusammenhängen.
Verwenden Sie JDK6u16 oder eine neuere Version für Starten eclipse (Sie können dann so viele JDKs definieren, wie Sie kompilieren möchten innerhalb eclipse: nur weil Sie eclipse mit JDK6 starten, müssen Sie nicht mit demselben JDK kompilieren).

Max

Beachten Sie die Verwendung von:

--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m

Wie in der Eclipse Wiki ,

Eclipse 3.3 unterstützt ein neues Argument für den Launcher: --launcher.XXMaxPermSize .
Wenn es sich bei der verwendeten VM um eine Sun-VM handelt und es nicht bereits eine -XX:MaxPermSize= VM-Argument, dann fügt der Launcher automatisch -XX:MaxPermSize=256m in die Liste der verwendeten VM-Argumente ein.
Der 3.3 Launcher ist nur in der Lage, Sun VMs unter Windows zu erkennen.

Wie ausführlich in diese Eingabe :

Nicht alle vms akzeptieren die -XX:MaxPermSize Argument, weshalb es auf diese Weise übergeben wird. Es kann (oder auch nicht) Probleme mit der Identifizierung von sun vms geben.
Hinweis: Eclipse 3.3.1 hat eine Wanze wo der Launcher eine Sun VM nicht erkennen kann und daher nicht die richtige PermGen-Größe verwendet. Es scheint so, als wäre dies ein ein bekannter Fehler unter Mac OS X für 3.3.0 auch.
Wenn Sie eine dieser Plattformkombinationen verwenden, fügen Sie die -XX Flagge zum eclipse.ini wie oben beschrieben.

Anmerkungen:

  • die " 384m Die Zeile "" wird mit "" übersetzt. =384m "Teil des VM-Arguments, wenn bei der VM Groß- und Kleinschreibung unterschieden wird. m ", dann ist das so ein Argument.
  • die " --launcher. "Dies gibt an, dass das Argument vom Startprogramm selbst verbraucht wird, und wurde zu startprogrammspezifischen Argumenten hinzugefügt, um Namenskollisionen mit Anwendungsargumenten zu vermeiden. (Andere Beispiele sind --launcher.library , --launcher.suppressErrors )

El -vmargs -XX:MaxPermSize=384m Teil ist das Argument, das direkt an die VM übergeben wird, wobei der Launcher vollständig umgangen wird und keine Überprüfung des VM-Anbieters erfolgt.

0 Stimmen

Ich hatte ein paar Probleme mit diesem für die neuesten eclipse 3.5x64 Release: --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v20090519 -startup plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar Außerdem musste ich ein jdk JAVA_HOME/bin/javaw für das m2eclipse-Plugin verwenden. Ansonsten ist das alles wahnsinnig genial.

0 Stimmen

Machen die beiden nicht das Gleiche? "--launcher.XXMaxPermSize 384m" und "-XX:MaxPermSize=128m"

0 Stimmen

@Igor Zinov'yev: Es ist ein bisschen redundant, aber beide können nützlich sein, je nach Plattform und Eclipse-Version. Ich habe sie auf denselben Wert zurückgesetzt und meine Antwort mit ein wenig Dokumentation zu diesen Einstellungen ergänzt.

63voto

VonC Punkte 1117238

Eclipse Ganymed 3.4.2 Einstellungen


Neuere Einstellungen finden Sie unter Eclipse Galileo 3.5 Einstellungen oben .


JDK

Die beste JVM-Einstellung toujours umfasst meiner Meinung nach die neuesten JDK finden Sie (also für jetzt, jdk1.6.0_b07 bis zu b16, außer b14 und b15 )

eclipse.ini

Selbst mit diesen ziemlich niedrigen Speichereinstellungen kann ich große Java-Projekte (zusammen mit einem Webserver) auf meinem alten (2002) Desktop mit 2Go RAM ausführen.

-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

Ver GKellys SO-Antwort y Blogeintrag von Piotr Gabryanczyk für weitere Informationen über die neuen Optionen.

Überwachung

Sie können auch einen Start in Erwägung ziehen:

C:\[jdk1.6.0_0x path]\bin\jconsole.exe

Wie in einer vorherige Frage zum Speicherverbrauch .

1 Stimmen

Was ist -Xssv2m für, wenn ich es in den vm-Einstellungen einschließen Eclipse nicht starten, hatte einen Blick auf die Dokumente für JVM-Einstellungen, aber konnte es nicht finden

0 Stimmen

Richtig ... das war ein Tippfehler: Xss2m, nicht Xssv2m: -Xss bestimmt die Größe des Stacks: -Xss1024k. Wenn der Stack zu klein ist, wird irgendwann eine Ausnahme der Klasse java.lang.StackOverflowError angezeigt (eine mythische Fehlermeldung hier ;-) )

0 Stimmen

Endlich bin ich dazu gekommen, den zweiten Satz von Einstellungen zu verwenden und bin erstaunt, wie gut sie funktionieren!

20voto

Mikko Rantalainen Punkte 11205

Eclipse Indigo 3.7.2 Einstellungen (64 bit linux)

Einstellungen für Sun/Oracle java Version "1.6.0_31" und Eclipse 3.7 unter x86-64 Linux:

-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

Beachten Sie, dass dies nur 200 MB für den Heap und 150 MB für den Non-Heap verbraucht. Wenn Sie große Plugins verwenden, sollten Sie die beiden Grenzwerte "-Xmx200m" und "-XX:MaxPermSize=150m" erhöhen.

Das primäre Optimierungsziel für diese Flaggen war es die Latenzzeit in allen Fällen zu minimieren und als sekundäres Optimierungsziel die Minimierung der Speichernutzung.

0 Stimmen

Funktioniert bei mir fantastisch (obwohl ich die Werte für die speicherbezogenen Einstellungen verdoppelt habe, ist sie immer noch niedrig und blitzschnell!)

0 Stimmen

Sie haben sowohl -XX:+UseConcMarkSweepGC als auch -XX:+UseParNewGC. Warum? Ich glaube nicht, dass Sie beide Garbage Collectors verwenden können, und ich bin nicht sicher, welcher letztendlich verwendet wird.

0 Stimmen

Ich dachte, dass -XX:+UseConcMarkSweepGC für die Garbage Collection der alten Generation und -XX:+UseParNewGC für die Garbage Collection von Eden verwendet wird.

14voto

Stephen Denne Punkte 35003

-Showlocation

Um es einfacher zu machen, Eclipse zweimal laufen zu lassen und zu wissen, mit welchem Arbeitsbereich man es zu tun hat

Eclipse 3.6 fügt eine Einstellungsoption hinzu, um festzulegen, was für die Workspace name (shown in window title) was viel besser funktioniert als -showlocation aus drei Gründen:

  1. Sie brauchen eclipse nicht neu zu starten, damit die Änderungen wirksam werden.
  2. Sie können einen Kurzcode wählen.
  3. Er erscheint zuerst, noch vor der Perspektive und dem Namen der Anwendung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X