2011-06-17 22 views
23

アマゾンのサイズを大きくするには?私はant permgenサイズを増やす方法は?

としてANT_OPTSに与えている

-Xms768m -Xmx1024m -XX:PermSizeを= 128メートル -XX:MaxPermSizeを= 128メートル

質問 1)システム環境の中に設定の上に指定した後、まだ私はjunitのantターゲットのmemeoryエラーから脱出する。

Caught an exception while logging the end of the build. Exception was: 
java.lang.OutOfMemoryError: PermGen space 

2)iはANT_OPTSする経路であるかを確認するコマンドPROMTに入力し、エコー%ANT_OPTS%はスキップのみ

-Xmx512m

及び他の部品を示しています。私の道で何かが間違っていますか? 注:ant targetを実行するコマンドプロンプトを使用しています。

+0

他の変数( 'JAVA_OPTS'など)がそれをオーバーライドしていないことを確認してください。 – Mikaveli

+0

これは何らかのコンテナで実行していますか?おそらく、値を渡していない可能性があります。 –

+0

他のOPTSはありません。私はテストケースを実行する時間がかかる統合テストを実行しています。コマンドプロンプトを使用して、junitレポートのantターゲットを実行します。 – TechFind

答えて

25

私のコンピュータ>右クリック - >プロパティ - >詳細設定>環境変数 - >新規(システム/ユーザー変数内)に行く - >

Varible name: ANT_OPTS 
Varible Value : -Xms1536m -Xmx1536m -XX:PermSize=1024m -XX:MaxPermSize=2048m 

注入力します:システムメモリのサイズに応じて

  1. のconfigure値を。

  2. MACのために、他のOSの設定に応じて

のためのWindows用のこの設定、:ターミナルで

、プロジェクト内のgotoのpom.xmlパス、コマンドの下に実行します。

輸出MAVEN_OPTS = " - Xmx1024m -XX:MaxPermSize = 512m"注:サイズはシステムRAMに基づいています。 古いAntではなくmavenを使用しました。 maven/ant configにはMAVEN_OPTS/ANT_OPTSを使用してください。

+3

私のコンピュータではうまくいかず、Mac OS Xが動作しています。 – gutch

+0

on私も(ubuntu 12.04) – mondjunge

+0

mac命令は 'MAVEN_OPTS'ではなくANT_OPTSでなければなりませんか? – pgreen2

3

あなたのテストは何をしますか?それは再帰的な方法を呼びますか?

また、テストに入力する値は、システム設定より優先されます。 AntスクリプトでJUnitのためにお電話でこれを試してみてください:

<junit fork="yes" maxmemory="1024"> 
+1

'maxmemory'を指定しなかった場合のデフォルトは何ですか? – Blundell

+0

すばらしい答え!私たちの ''が変更されたため、メモリ不足が発生していることがわかりました。デフォルトでは、 'perTest'ですが、何かに変更された場合(例えば' once')、OutOfMemory例外が発生する可能性があります。これは、junitが各テストで新しいVMインスタンスを開始しないためです。 –

1

私のjunitアリターゲットのためにちょうどfork="true"を設定して、新しいjvmがjunitタスクのために起動されると、forkmode="perBatch"または"perTest"が私のために働いています!

関連する問題