Warum funktioniert Eclipse-Crash mit Xmx, XX: MaxPermSize über bestimmte Werte?

StackOverflow https://stackoverflow.com/questions/1804913

  •  05-07-2019
  •  | 
  •  

Frage

Ausführen von Eclipse 3.5.1, JDK 1.6.0_17 auf WinXP SP3 32Bit mit 3,5 GB RAM.
Ich bin mir bewusst, der bekannten Best Practices Eclipse- noch versuchen eclipse.ini herauszufinden.

Dies wird gestartet: -Xmx588m und dies wird nicht gemeinfrei. -Xmx589m
Das Gleiche gilt für -XX:MaxPermSize. Alles, was über -XX:MaxPermSize=140m wird nicht starten.
Der Bildschirm des Todes ist simlar diese (aus here ).

Alle Ideen, warum könnte dies geschehen?

War es hilfreich?

Lösung

Siehe dieser Eklipse Fehler .

Das allgemeine Problem ist die JVM einen zusammenhängenden Block von Speicher für diese erfordert. Unter Windows wird der Prozess, der 2 Gigs, andere Bibliotheken, die geladen werden in verschiedenen Bereichen des Speicherplatzes platziert. Wenn eine Bibliothek geschieht in der Mitte platziert werden, in grundsätzlich in der Hälfte der Größe schneiden Sie verwenden können.

Der Eclipse-Launcher wird einige System-DLLs wird geladen Grafiken zu tun, und insbesondere kann user32.dll in 3rd-Party-Bibliotheken führt immer geladen abhängig, was auf Ihrem Computer installiert ist (gesehen hier ).

Um eine höhere Speichergrenzen zu erreichen, können Sie die Jvm zwingen in einem separaten Prozess von der Eclipse-Abschuß gegabelt werden. Der Jvm Prozess wird nicht diese zusätzliche Bibliotheken bis werden geladen, nachdem der vm seinen Speicher initialisiert wird. Tun Sie dies, indem Sie eine -vm Argument zeigt auf einen javaw.exe:

eclipse -vm C:\jdk\jre\bin\javaw.exe

Andere Tipps

Siehe auch diesen Fehler 203.325 für Vorschläge, wie Überwachung, wie Ihr Speicher verwendet wird, mit Werkzeugen wie:

  • JConsole
  • Memory Monitor-Tool (Eclipse-Tool)

Hinweis: wie kommentiert hier :

  

Wenn Sie nicht die maximale Speichergrenze erklären dann wird es den OS-Speicher-Manager verlassen.

     

Die -Xmx <size> ist für die Programmierung ein kleines Gerät wie J2ME nützlich.
  Wenn Sie ein kleines Gerät programmieren, die Speicher beschränkt ist, dann können Sie -Xmx JVM-Eigenschaft zu emulieren das kleine Gerät verwenden, auch wenn Sie einen PC verwenden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top