提问者:小点点

测试时定义grails内存设置


我有一个带有联调的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指定内存设置的正确方法是什么?


共1个答案

匿名用户

我在将Grails 3应用程序移植到4时遇到了同样的问题,以下为我修复了它。

test {
    jvmArgs('-Xmx4g', '-XX:+UseG1GC')
}

integrationTest {
    jvmArgs('-Xmx4g', '-XX:+UseG1GC')
}