如何增加 Groovy 的 JVM 堆大小?

发布于 2024-10-27 04:58:55 字数 345 浏览 3 评论 0原文

网络上的一些来源声称我应该能够将 -Xmx 参数提供给 groovy,但是当它找不到 -Xmx 文件时,这只会给我 java.io.FileNotFoundException 。 其他来源告诉我设置一些名为JAVA_OPTS的变量,但我该怎么做?我怎么知道它是否有效?

Some sources on the web claims that I should be able to give the -Xmx param to groovy but that just gives me java.io.FileNotFoundException when it can't find the -Xmx file. Other sources tell me to set some variable named JAVA_OPTS but how do I do that? And how do I know if it worked?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尾戒 2024-11-03 04:58:55
$ export JAVA_OPTS="$JAVA_OPTS -Xmx64M"
$ groovy
$ export JAVA_OPTS="$JAVA_OPTS -Xmx64M"
$ groovy

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

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

UPDATED: Go to your Groovy home folder and go into the bin directory. In startGroovy.bat, you can set it from 128MB to 512MB like this:

...
@rem set GROOVY_OPTS="-Xmx128m"
set GROOVY_OPTS="-Xmx512m"
...
夏九 2024-11-03 04:58:55

找到了另一种在 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 值将是它使用的分配内存。这种方法的好处是,您不需要每次想要更改堆大小时都重新加载环境变量,并且您可以对使用 Groovy 所使用的 JVM 执行的操作进行细粒度控制。

Found another way to do this on Windows without having to modify JAVA_OPTS, etc. Go to your Groovy home folder and go into the bin directory. If you are invoking Groovy by calling the groovy.bat file, if you look inside it, you'll see it in turn runs startGroovy.bat. In startGroovy.bat, in the last lines of the script, you'll find something like this:

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

Add the Xmx switch and memory you need allocated after %JAVA_OPTS% and before -classpath, so you have something like this:

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

Now when you go to run Groovy, the -Xmx value will be the allocated memory it uses. Nice thing about this approach is that you don't need to re-load your env variables every time you want to change heap size and you have fine-grained control over what you're doing with the JVM that Groovy is utilizing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文