Improve Eclipse Performance with Increased Heap Size

I noticed that especially working with several projects in my workspace, Eclipse got sluggish and slowly responding. I have in Eclipse the Heap Monitor/Status enabled (see “Show Heap Status in Eclipse“):

Heap Status at the Limit

Heap Status at the Limit

So the used heap of the Java VM is hitting a limit of about 500 MByte, and seems to be trashing around? How to increase that heap size?

Eclipse .ini File

The heap size is specified and set through an .ini file at Eclipse startup. That ini file is inside the ‘eclipse’ folder, e.g. ‘eclipse.ini’ for stock Eclipse, or ‘kinetis-design-studio.ini’ in the case of Freescale Kinetis Design Studio v3.0.0.

My original kinetis-design-studio.ini is the following:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20150204-1316
-product
com.somniumtech.branding.kds.ide
-showSplash
com.somniumtech.branding.kds
--launcher.defaultAction
openFile
-name
Kinetis Design Studio
--launcher.XXMaxPermSize
256m
-vm
features/com.somniumtech.jre.win32.win32.x86_1.7.0.76/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx512m
-XX:PermSize=256m
-XX:MaxPermSize=512m

Options to specify the Heap Size

The interesting options are the ones after -vmargs which get passed to the Java Virtual Machine (VM):

  • -Xms: initial start heap size
  • -Xmx: maximum heap size

The -XX options are passed to the VM internally, and with newer VM’s they are ignored.

That -Xmx512m explains why my memory was limited to about 512 MByte. I was hitting that limit, and the Java VM memory manager was thrashing around slowing down performance. So I increased that value to

-Xmx1024m

and performance dramatically improved :-). And now I see that my configuration need much more memory than it was available, explaining the Eclipse slowness:

Heap Status

Heap Status

šŸ’” Depending on the amount of memory on your machine, you might go with a lower value than 1024. I have 8 GB Memory on my machine, and the value of 1024 worked fine.

Summary

Depending on the amount of projects in my workspace, and depending on which plugins I’m using, the default Eclipse Java VM size might not enough. Edit the .ini inside the eclipse folder and increase the value of the -Xmx parameter to a higher value, and you should see a performance improvement. I noticed especially for projects using Processor Expert a big improvement.

Happy Speeding šŸ™‚

Links

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.