我有一个带有联调的grails 4.0.2应用程序,需要大量内存。
目前,当我运行测试时,它失败了:java. lang.OutOfMemoryError:超过GC开销限制。在旧的grails中,您可以在build.config中定义grails.project.fork。
此外,我已经尝试用所需的内存配置指定GRAILS_OPTS,但这给了我一个信息-
我还尝试将build. gradle调整到下面
bootRun {
ignoreExitValue true
jvmArgs(
'-Dspring.output.ansi.enabled=always',
'-noverify',
'-XX:TieredStopAtLevel=1',
'-Xmx2048m')
sourceResources sourceSets.main
String springProfilesActive = 'spring.profiles.active'
systemProperty springProfilesActive, System.getProperty(springProfilesActive)
}
tasks.withType(GroovyCompile) {
configure(groovyOptions) {
forkOptions.jvmArgs = ['-Xmx2048m']
}
}
为测试grails 4指定内存设置的正确方法是什么?
我在将Grails 3应用程序移植到4时遇到了同样的问题,以下为我修复了它。
test {
jvmArgs('-Xmx4g', '-XX:+UseG1GC')
}
integrationTest {
jvmArgs('-Xmx4g', '-XX:+UseG1GC')
}