如何增加Groovy的JVM堆大小?

时间:2011-03-28 12:58:50

标签: groovy heap-memory

网络上的

Some sources声称我应该能够将-Xmx param提供给groovy,但是当它找不到-Xmx文件时,它只会给我java.io.FileNotFoundExceptionOther sources告诉我设置一个名为JAVA_OPTS的变量,但我该怎么做?我怎么知道它是否有效?

3 个答案:

答案 0 :(得分:20)

$ export JAVA_OPTS="$JAVA_OPTS -Xmx64M"
$ groovy

答案 1 :(得分:6)

更新:转到Groovy主文件夹并进入bin目录。在startGroovy.bat中,您可以将其设置为128MB到512MB,如下所示:

...
@rem set GROOVY_OPTS="-Xmx128m"
set GROOVY_OPTS="-Xmx512m"
...

答案 2 :(得分:3)

在Windows上找到另一种方法,无需修改JAVA_OPTS等。转到Groovy主文件夹并进入bin目录。如果你通过调用groovy.bat文件调用Groovy,如果你查看它,你会看到它依次运行startGroovy.bat。在startGroovy.bat中,在脚本的最后几行,你会发现这样的东西:

@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%

添加在%JAVA_OPTS%之后和-classpath之前需要分配的Xmx开关和内存,所以你有这样的东西:

@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -Xmx256M -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%

现在,当您运行Groovy时,-Xmx值将是它使用的已分配内存。这种方法的好处在于,每次想要更改堆大小时都不需要重新加载env变量,并且对使用Groovy正在使用的JVM所做的事情进行了细粒度的控制。

相关问题