【发布时间】:2019-04-26 19:05:49
【问题描述】:
如果出现 OOME 并且应用程序崩溃,Elastic Beanstalk 的默认行为是什么;它会重新启动应用程序吗?
我们还输入了-XX:+ExitOnOutOfMemoryError JVM flag 以确保它不会停留在卡住状态。
【问题讨论】:
标签: java amazon-web-services spring-boot out-of-memory amazon-elastic-beanstalk
如果出现 OOME 并且应用程序崩溃,Elastic Beanstalk 的默认行为是什么;它会重新启动应用程序吗?
我们还输入了-XX:+ExitOnOutOfMemoryError JVM flag 以确保它不会停留在卡住状态。
【问题讨论】:
标签: java amazon-web-services spring-boot out-of-memory amazon-elastic-beanstalk
Elastic Beanstalk 不会为您重新启动任何内容。 EB 配置文件只运行一组命令。如果在启动过程中内存不足,部署将失败。
您应该使用 /health 域来确定您的实例和应用程序是否正在运行并且是否正常工作。 Elastic Beanstalk(Elastic Load Balancer)每分钟检查一次此 url 以进行验证。如果它没有得到响应代码 200,它将终止实例并启动一个新实例。
另一种选择是设置一个 cron 作业,以检查一切是否正常运行,并执行必要的操作以使其再次正常工作。
不过,这里的根本问题似乎是您没有为您的应用程序使用正确的实例类型。您应该优化您的应用程序以使用更少的内存或使用更大的实例。
【讨论】: