Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
or
Unable to execute dex: Java heap space Java heap space
If you need to increase the memory, find the eclipse.ini and change maximum Xmx memory (-Xmx512m):
find /Applications/ide/eclipse/Eclipse.app
open /Applications/ide/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini
if you use a TextWrangler it will open it by default.
-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=512m
-Xms40m
-Xmx1024m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
NOTE:
Before you go and start increasing available memory please take a look at your code and refractor ANY creation of objects from inside loops, or at least heavy objects like database Statement used in the inserts:
Connection connection = MySqlHelpers.makeDbConnection(db, user, password);
Statement statement = connection.createStatement();
Just removing the Statement from the loop stabilized java process "Real Memory" footprint growth at 61 MB. Removing various Strings variables made much smaller difference.
I noticed that few System.out.println(...) does not really increase the memory footprint.
No comments:
Post a Comment