Dienstag, 13. Mai 2008

Eclipse auf AMD64

Eclipse auf einem 64-Bit-Prozessor mit Suns JDK stürzt ständig ab. Der Grund hierfür ist Bug #6614100: eine fehlerhafte Optimierung durch den Hotspot-Compiler, die nur unter ganz bestimmten Umständen auftritt, aber leider eben bei Eclipse. Betroffen sind alle JDK/JRE von Sun. Abhilfe schafft das Deaktivieren des Hotspot-Compilers. Macht man dies für das komplette Eclipse, schlafen einem die Füße ein. Erfreulicherweise kann man dies auch ganz gezielt für die eine Klasse deaktivieren, die den Fehler verursacht. Hierfür muss man in seiner eclipse.ini folgende Option am Ende setzen - nach dem -vmargs:

-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith

Hier als Beispiel meine eclipse.ini:

-showsplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms1536m
-Xmx1536m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith

Das Erhöhen des Speichers auf 1536 MB und der PermSize auf feste 512 MB beschleunigt Eclipse, sollte aber nur mit ausreichend Speicher gemacht werden. Ob es geklappt hat, sieht man unter Linux mit

ps ux|grep java

Dort müssen die Optionen erscheinen.

Keine Kommentare: