我有一个部署到 Elastic Beanstalk 的 Java 应用程序。
有两种环境:测试和生产,生产被配置为使用比测试更大的实例。
使用 Java 环境的默认配置,最大堆大小约为所有实例 RAM 的 1/4(对于 2G RAM 实例,它约为 0.5G),我想增加它(-Xmx
)。
可用的选项是:
- 使用
.ebextensions
- 这样两种环境的配置将是相同的(不好) - 使用
Procfile
- 同上 - 使用
Environment properties
在控制台中不起作用 - 这些属性传递给应用程序(-D
),而不是java
.
关于如何设置 -Xmx
的任何想法取决于环境/可用内存大小?
谢谢
最佳答案
我想到了两种解决问题的方法:
两套
.ebextensions
,一套用于test
,一套用于prod
,做app package的时候,只要放.ebextensions
在webapp
文件夹下,它会被Beanstalk
获取
自定义
catalina.sh
以grep
空闲内存并相应地调整-Xmx
。
关于java - AWS Elastic Beanstalk 和 JAVA_OPTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410535/