如何增加Groovy';JVM堆大小是多少?

如何增加Groovy';JVM堆大小是多少?,groovy,heap-memory,Groovy,Heap Memory,在web上,我声称我应该能够将-Xmx参数提供给groovy,但当groovy找不到-Xmx文件时,这只会给我java.io.FileNotFoundException。告诉我设置一个名为JAVA\u OPTS的变量,但我该怎么做?我如何知道它是否有效?找到了在Windows上执行此操作的另一种方法,无需修改JAVA选项等。转到Groovy主文件夹并进入bin目录。如果您通过调用Groovy.bat文件来调用Groovy,如果您查看它的内部,您将看到它依次运行startGroovy.bat。在s

在web上,我声称我应该能够将-Xmx参数提供给groovy,但当groovy找不到-Xmx文件时,这只会给我
java.io.FileNotFoundException
。告诉我设置一个名为
JAVA\u OPTS
的变量,但我该怎么做?我如何知道它是否有效?

找到了在Windows上执行此操作的另一种方法,无需修改JAVA选项等。转到Groovy主文件夹并进入bin目录。如果您通过调用Groovy.bat文件来调用Groovy,如果您查看它的内部,您将看到它依次运行startGroovy.bat。在startGroovy.bat中,在脚本的最后几行中,您会发现如下内容:

$ export JAVA_OPTS="$JAVA_OPTS -Xmx64M"
$ groovy
@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%
@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -Xmx256M -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%
...
@rem set GROOVY_OPTS="-Xmx128m"
set GROOVY_OPTS="-Xmx512m"
...
在%JAVA_OPTS%之后和-classpath之前添加您需要分配的Xmx开关和内存,这样您就有了如下内容:

@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%
@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -Xmx256M -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%
...
@rem set GROOVY_OPTS="-Xmx128m"
set GROOVY_OPTS="-Xmx512m"
...

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

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

@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%
@rem Execute Groovy
"%JAVA_EXE%" %JAVA_OPTS% -Xmx256M -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS%
...
@rem set GROOVY_OPTS="-Xmx128m"
set GROOVY_OPTS="-Xmx512m"
...