EclipseでJUnitやDjUnitを実行すると「junit java.lang.OutOfMemoryError: Java heap space」とメモリエラーが表示された場合は「デフォルトのVM引数」を設定する事でこの事象を回避する事が出来るのでその設定方法をご紹介します。
環境
- Eclipse 4.2
- Windows7 professional 64bit版
対処方法
- Eclipseメニューの「ウィンドウ」⇒「設定」を選択します。

- 設定画面で「Java」⇒「インストール済みのJRE」⇒使用しているjdkを選択して「編集」ボタンを選択します。

- JREの編集画面で「デフォルトのVM引数」へ以下の様に設定します。
1-Xms=1024m -Xmx=1024m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:NewSize=320m -XX:MaxNewSize=320m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=80

補足:EclipseのVM引数設定でメモリ不足を防ぐポイント
EclipseでJUnit実行時やアプリ起動時にOutOfMemoryError: Java heap space が発生する場合、
VM引数(ヒープサイズ)の不足が原因であるケースが多くあります。
Eclipseのデフォルト設定では、
大規模なプロジェクトやテスト実行時にメモリが不足しやすいため、
用途に応じてVM引数を調整することが重要です。
Java 8以降で推奨されるシンプルなVM引数例
※ Java 8 以降では PermGen は廃止されているため、PermSize / MaxPermSize の指定は不要です。
各オプションの意味
-
-Xms
JVM起動時の最小ヒープサイズ -
-Xmx
JVMが使用できる最大ヒープサイズ -
MetaspaceSize/MaxMetaspaceSize
クラス情報などを保持する領域(Java 8以降)
VM引数の設定方法(JUnit/アプリ実行)
-
Run Configurations… を開く
-
対象の JUnit または Java Application を選択
-
Arguments タブ → VM arguments に設定を入力
-
保存して再実行
※ プロジェクト単位・実行単位で設定を分けられるため便利です。
Eclipse全体に反映したい場合(eclipse.ini)
すべての実行設定に共通で反映したい場合は、eclipse.ini にVM引数を追加します。
※ eclipse.ini は Eclipse本体の起動メモリ設定であり、
アプリケーション実行とは影響範囲が異なる点に注意してください。
プロジェクト規模別のヒープサイズ目安
| プロジェクト規模 | 推奨設定例 |
|---|---|
| 小規模 | -Xmx1024m |
| 中規模・テスト多 | -Xmx1536m ~ 2048m |
| 大規模 | -Xmx2048m ~ 4096m |
※ 実行環境やPCのメモリ容量に応じて調整してください。
メモリ不足時の切り分けポイント
-
JUnit実行時のみエラー
→ VM引数不足の可能性が高い -
Eclipse自体が重い/落ちる
→eclipse.iniのメモリ設定を見直す -
Metaspace関連のエラー
→MaxMetaspaceSizeの増加を検討
まとめ
-
Eclipseのメモリエラーは VM引数調整で改善できるケースが多い
-
Java 8以降では PermGen設定は不要
-
実行単位/Eclipse全体、用途に応じて使い分けることが重要






