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

Not able to set JVM heap size on AWS Elastic Beanstalk Java SE Platform

我使用单个 EC2 t2.micro 实例(1GB RAM)在 Elastic Beanstalk 上部署了一个 Spring 启动应用程序。

我需要增加应用程序的 JVM 堆大小,但我做不到。我尝试过的事情是:

我还能尝试什么?

注意:要检查 运行 应用程序的 JVM 堆大小,我 ssh 进入实例并使用 jstat 命令,如 所述。计算最大值总是给我 256MB,这是默认值。

我解决了!

我的 Spring 引导项目是 multi-module 一个:

  • base_module(POM 类型)
    • .elasticbeanstalk
      • config.yaml
    • module1(delpyed 模块。在 pom.xml 中导入 module2 和 module3)
    • 模块2
    • 模块 3
    • 过程文件

其中一个模块(我正在部署的那个 jar)导入了其他模块。我的错误是我将 Procfile 放在基本模块的根目录中。同样在 config.yaml 文件中,我放置了以下行:

deploy:
    artifact: module1/target/app.jar

所以命令 eb deploy 没有考虑 Procfile

解决方案是将.elasticbeanstalk文件夹移动到module1文件夹中,从config.yaml中删除我上面所说的行,并在Procfile中添加一个Procfile module1 的根,包含以下行:

web: java -jar target/app.jar -Xmx896M

最终的项目结构是:

  • base_module(POM 类型)
    • module1(delpyed 模块。在 pom.xml 中导入 module2 和 module3)
      • .elasticbeanstalk
        • config.yaml
      • 源码
      • 目标
    • 过程文件
    • 模块2
    • 模块 3

希望对大家有所帮助!

创建一个包含您的 application.jar 和 Proc file.Upload 的 zip 文件,并将其部署在 elasticbeanstalk 中。

在您的 Procfile 中写入以下行 网页:java -jar application.jar -Xmx896M