Allocating enough memory and solving OutOfMemoryErrors
- By default, Eclipse will allocate up to 384 megabytes of Java heap memory.
- This should be ample for all typical development tasks.
- However, depending on the JRE that you are running, the number of additional plug-ins you are using, and the number of files you will be working with, you could conceivably have to increase this amount.
- Eclipse allows you to pass arguments directly to the Java VM using the
-vmargscommand line argument, which must follow all other Eclipse specific arguments.
- Thus, to increase the available heap memory, you would typically use:
eclipse -vmargs -Xmx<memory size>
<memory size>value set to greater than "384M" (384 megabytes -- the default).
What is PermSize?
- When using an Oracle JRE, you may also need to increase the size of the permanent generation memory.
- The default maximum is 64 megabytes, but more may be needed depending on your plug-in configuration and use.
- When the VM runs out of permanent generation memory it may crash or hang during class loading.
- The maximum permanent generation size is increased using the -XX:MaxPermSize=<memory size> argument:
eclipse -vmargs -XX:MaxPermSize=<memory size>
- This argument may not be available for all VM versions and platforms; consult your VM documentation for more details.
Note: Setting memory sizes to be larger than the amount of available physical memory on your machine will cause Java to "thrash" as it copies objects back and forth to virtual memory, which will severely degrade your performance.