DronaBlog

Monday, July 2, 2018

How to handle OutOfMemoryErrors in Eclipse

Are you getting OutOfMemoryErrors in your Eclipse development tool and looking for a solution for this? If yes, then you have reached the correct place. This article provides important information for handling OutOfMemoryErrors in the Eclipse environment. 

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 -vmargs command 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>
       with the <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.


No comments:

Post a Comment

Please do not enter any spam link in the comment box.

What is Glue Job in AWS?

An AWS Glue job is a managed ETL (Extract, Transform, Load) job used to process data in AWS. AWS Glue makes it easy to discover, prepare, an...