Version 7, last updated by Anonymous at 2011-02-07
To have a better experience with Scala-IDE, this page try to collect information to help you configure eclipse, and avoid some Troubleshooting
The default Eclipse heap configuration is often inadequate for the Scala IDE. It is strongly recommended that you edit your eclipse/eclipse.ini to add the following lines increasing various heap limits and VM options:
The configuration above specifies a 1Gb maximum heap size. If the machine you are running the Scala IDE on has sufficient physical memory (eg. > 3GB) then specifying -Xmx2048m for a 2Gb heap might be beneficial.
If you are using a recent Oracle JVM you might also find it beneficial to add,
and if you are using the Oracle 64 bit JVM you should also add,
The ScalaIDE use AOP to tweak JDT, so you need to enable JDT weaving, else scala files are managed as java file. So check if it enabled (else Click to ENABLE)
Window > Preferences > JDT Weaving
|| JDT Weaving is currently ENABLED
Display heap status, when eclipse is near the limit, GC activity increase (when scalac runs,...) and the system slow down
Window > Preferences > General
|| [x] Show heap status
Limit the number of open editors
Window > Preferences > General > Editors
|| [x] Close editors automatically
|| Number of opened editors before closing: 12
Lot of content assistant require information provide by compiler (Types,...), as Scala-IDE is build over JDT, java content assistant are enabled for scala files. Disable auto-activation (on typing instead of explicit calls) can reduce number of freeze,...
GC activity and swap are killer : freeze eclipse,... full system.
So monitor and tweak when possible (may be, close your browser, flash apps,...).
To monitor swap / CPU, you can use your native system monitor (, some system monitors are performance killers themselves).
To monitor GC activity, connect jvisualvm (a profiling tool provide with jdk 1.6.0) to your eclipse instance (see wip_tuning for some screenshot of GC activity that freeze eclipse). Or "smell it" via heap memory usage, you can show heap status (see above if there is enough free memory, then gc will not consume CPU ).