AWS弹性Beanstalk - 设置JVM选项(堆空间)

5

你好。

我正在 AWS Elastic Beanstalk 上运行 Java 应用程序。我需要增加堆空间,通常会通过 -Xmx 和 Xms 来实现。

如何在 AWS 上完成这个操作?

我是以最简单的方式部署 - 上传一个 jar 文件并运行它。我已经在这里找到了这个解决方案:

无法在 AWS Elastic Beanstalk Java SE 平台上设置 JVM 堆大小

将 Procfile 与我的 .jar 文件一起打包成 zip 文件进行部署时被接受,但不起作用。我真的没有更多的想法,有人可以帮忙吗?


1
这个回答解决了你的问题吗?无法在AWS Elastic Beanstalk Java SE平台上设置JVM堆大小 - Nowhere Man
1
你好,感谢您的评论。我已经在我的问题中引用了这个线程,因为我尝试设置了JAVA_OPTS并将procfile放到了我的.jar文件中。这没有导致任何错误,但仍然没有改变什么。 - Axungia_Hominis
1个回答

8

尝试了几个不同的方法(.Config文件或Procfile在.zip中,更改服务端JVM的默认堆大小以及将JAVA_OPTS添加到beanstalk配置中),最终终于成功了。

不需要使用"JAVA_OPTS",只需在Beanstalk环境的"配置" -> "软件" -> "环境属性"下添加"_JAVA_OPTIONS"键和"-Xmx[size]m"值([size]表示以字节为单位的所需堆大小)。

我希望这可以为某人节省我发现问题的时间。


我想将 -Dsun.net.inetaddr.ttl=60 传递给 Elastic Beanstalk 的 JAVA 8 SE,是否可以通过相同的方式实现? - alext
我从来没有做过这个。我猜你只能试试,抱歉。 - Axungia_Hominis
3
从JDK 9开始,“JDK_JAVA_OPTIONS”是推荐使用的变量,而不是“_JAVA_OPTIONS”。 - Travis Carlson
1
我可以确认,在beanstalk配置中,_JAVA_OPTIONS的值-verbose:gc被JVM正确地选取。 - LMG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接