web-dev-qa-db-de.com

Warum erhalte ich in Eclipse die Meldung "Unbehandelte Ereignisschleifenausnahme-Java-Heap-Speicherplatz", wenn Javascript-Autovervollständigung verwendet wird?

Wenn ich versuche, eine beliebige JavaScript-Vorlage zu verwenden, hängt Eclipse immer und ich erhalte die folgende Meldung:.

Ich habe einen Top-Befehl (mit Ubuntu) für den Eclipse-Prozess und für Java-Prozess gestartet und dann versucht, eine automatische Vervollständigung für Eclipse zu verwenden. Ich stelle fest, dass der Java-Prozess meine CPU zu 100% bringt, während der Speicher gleich bleibt (etwa 22%).

Ich habe dies ohne vorherige Änderungen an meiner Eclipse-IDE erhalten ...

Irgendwelche Ideen, wie man das lösen kann?

BEARBEITEN: Ich merke auch, dass im Einstellungsfenster unter: Javascript/Content Assist/Advanced Die Option "Andere Javascript-Vorschläge" aktiviert ist. Wenn das Kontrollkästchen deaktiviert ist, ist das Problem gelöst. Es fehlt jedoch die Inhaltshilfe für Variablen und Objekte. Das löst also mein Problem teilweise.

28
user1769128

Ich habe das Problem gefunden. Ich habe vorübergehend einige js-Dateien in mein Projekt verschoben (einige kopierten die Originaldateien) und die automatische Vervollständigung war in zu vielen Dateien gesucht. Also habe ich den SRC-Ordner so geändert:

  • Klicken Sie mit der rechten Maustaste auf Projekt
  • Eigenschaften auswählen
  • Javascript
  • Pfad einschließen
  • Auf der Registerkarte "Quelle" wurden die Dateien/Ordner, die dupliziert wurden, und einige, die ich nicht für die automatische Vervollständigung verwenden wollte, ausgeschlossen.

Dies löste mein Problem und meine Eclipse ist jetzt schnell automatisch abgeschlossen.

5
user1769128

Dieser Fehler ist für jeden Eclipse-Benutzer ein "Klassiker". Öffnen Sie den Ordner, in dem Sie Ihre Eclipse haben. Bearbeiten Sie dort die Datei "Eclipse.ini".

Suchen Sie die Zeile, in der sich "-vm" befindet. In dieser Zeile haben Sie drei generische Einstellungen für den Speicher. Zusamenfassend :

  • "Xms" ist die minimale Speichermenge, die der virtuellen Maschine zugewiesen wird.
  • "Xmx" ist die maximale Menge.
  • "MaxPermSize" ist die dem Permgen der virtuellen Maschine zugewiesene Speichermenge.

Die Ausnahme mit der Fehlermeldung, die Sie hier haben, bedeutet, dass Java seine maximale Speichereinstellung erreicht hat, jedoch mehr benötigt. Java nimmt in solchen Fällen 100% der CPU ein: "normal": Der Garbage Collector arbeitet in Vollzeit. Die eine Einstellung, die Sie bearbeiten möchten, ist "Xmx", wodurch Java etwas mehr Speicher zum Atmen bietet, es ist jedoch nicht schmerzhaft, die anderen beiden auch etwas höher einzustellen. Meine üblichen Einstellungen sind:

  • -Xms256m
  • -Xmx1024m
  • -XX: MaxPermSize = 256m
39
Kellindil

(1) Gehen Sie zur Konfiguration des offenen Mittagessens und dann zu den Argumenten. Fügen Sie dies hinzu 

     -Xms512m
    -Xmx1024m
-XX:MaxPermSize=512m
1
user3062776

sie können die folgenden Befehle in die Datei AIDE.ini ändern und die IDE neu starten.

-vmargs
-Dosgi.requiredJavaVersion=1.6
-Dlocaldev=true
-Xms256m
-Xmx512m
-XX:PermSize=128m
-XX:MaxPermSize=256m
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 
0
ManjunathS