Mavenで実行しているTestに割り当てるヒープを増やす方法
Maven Surefire Pluginを使う。
https://maven.apache.org/surefire/maven-surefire-plugin/
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine> </configuration> </plugin>
ぐぐると、MAVEN_OPTSに書けばいい とか、 Jenkinsの場合はGlobal MAVEN_OPTSに書けばいい とか出てくるんだけど、
これは、MavenのJavaプロセスに割り当てるメモリ。
その中で実行されるテスト用のメモリは別に確保される。
実際、テストコード内で以下のように割り当てメモリを書き出してみると
int mb = 1024 * 1024; Runtime runtime = Runtime.getRuntime(); System.out.println("Max Memory:" + runtime.maxMemory() / mb);
MAVEN_OPTSに何を書いても増えないし減らない。