如何增加Groovy的JVM堆大小?
问题描述:
Some sources在网络上声称,我应该能够给-Xmx参数groovy,但只是当它找不到-Xmx文件时,它给我java.io.FileNotFoundException
。 Other sources告诉我设置一个名为JAVA_OPTS
的变量,但我该怎么做?我怎么知道它是否有效?如何增加Groovy的JVM堆大小?
答
$ export JAVA_OPTS="$JAVA_OPTS -Xmx64M"
$ groovy
答
找到了另一种方法在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%
添加XMX开关和内存需要经过%JAVA_OPTS%和-classpath之前分配的,所以你有什么像这样:
@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执行的操作进行细化控制。
答
已更新:转到您的Groovy主文件夹并进入bin目录。在startGroovy.bat,你可以从128MB将它设置为512MB这样的:
...
@rem set GROOVY_OPTS="-Xmx128m"
set GROOVY_OPTS="-Xmx512m"
...
'无效的最大堆大小:-Xmx = 64M无法创建Java虚拟machine.'我刚才打破这一切呢? – jonalv 2011-03-28 13:12:05
愚蠢的我..不需要'='..编辑我的答案 – 2011-03-28 13:15:24