我有一个部署到 Elastic Beanstalk 的 java 应用程序。 有两种环境:测试和生产,生产配置为使用比测试更大的实例。 使用 java 环境的默认配置,最大堆大小约为所有实例 RAM 的 1/4(对于 2G RAM 实例,约为 0.5G),我想增加它 (
-Xmx
)。
可用选项有:
.ebextensions
- 这样两个环境的配置将是相同的(不好)Procfile
- 与上面相同Environment properties
不起作用 - 这些属性将传递给应用程序 (-D
),而不是 java
。有什么想法如何根据环境/可用内存大小设置
-Xmx
?
谢谢
我想到两种方法来解决这个问题:
两套
.ebextensions
,一套test
,一套prod
,做应用程序包时,只需将.ebextensions
放在webapp
文件夹下,Beanstalk
自定义
catalina.sh
为 grep
可用内存并相应调整 -Xmx
。你能解决这个问题吗?我也尝试使用 Procfile,部署完成正常,但应用程序无法启动,如果我删除 JVM 选项,则可以正确启动