Eclipse – java.lang.OutOfMemoryError:Javaヒープスペース
Eclipse IDEでは、あなたのプログラムが次のように多くのメモリを消費している(大きなデータをロードしている)
List<Domain> list = domainBo.findAllDomain(100000); for(Domain domain : list){ process(domain.getDomainName()); }
`java.lang.OutOfMemoryError:Java heap space`を簡単に押すことができます:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.<init>(HashMap.java:209) at java.util.LinkedHashMap.<init>(LinkedHashMap.java:181)
1.ソリューション – VM引数
Eclipseのメニューで
Run→ Run Configurations …`をクリックし、実行するJavaアプリケーションを選択し、
Arguments`タブをクリックし、VM引数を次のオプションで更新します
-Xms<size> - Set initial Java heap size -Xmx<size> - Set maximum Java heap size
たとえば、
-Xms512M -Xmx1024M
2.間違い – eclipse.ini
`eclipse.ini`のメモリ設定は、実行したいプログラムではなく、Eclipse IDEにのみ割り当てられます。非常によくある間違いは、 `eclipse.ini`のヒープサイズを更新し、それがメモリー上の問題を解決することを期待しています。
しかし、Eclipse IDEが何の理由もなく常にクラッシュした場合は、 `eclipse.ini`でヒープサイズとパーマネントを増やすことができます。
/Users/mkyong/Downloads/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini
-startu openFile -showsplash //... -XX:MaxPermSize=512m -Xms512m -Xmx1024m //... -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread
__P.S eclipse.iniは、Eclipseインストール・フォルダーにあります。
参考文献
-
http://wiki.eclipse.org/FAQ
How
do
I
increase
the
permgen
size
available
to
Eclipse%3F[FAQ
Eclipseに利用できるpermgenサイズを増やすにはどうすればよいですか?]。 link://java/find-out-your-java-heap-memory-size/[あなたのJavaを見つける
ヒープメモリサイズ]。リンク://eclipse/eclipse-tomcat-java-lang-outofmemoryerror-java-heap-space/[Eclipse
Tomcat – Java.Lang.OutOfMemoryError:Javaヒープスペース]