Elastic Beanstalk在耗尽内存后卡住了。

问题描述 投票:0回答:1

我有一个Elastic Beanstalk实例,当内存耗尽时,开始出现500个错误,健康状况下降,这是预期的行为。 现在当内存被释放后,服务器的健康状况恢复正常,但HTTPS请求却停滞不前。服务器上没有CPU或内存活动,但服务器仍然无法加载5个请求中的2个。当我重启Elastic Beanstalk实例后,这个问题就解决了。

我检查了错误日志,但没有任何记录,似乎请求没有到达服务器,而是在负载平衡器上被阻止了。有人遇到过这个问题吗?我试着在Elastic Beanstalk实例上运行一些不同的应用,但结果都一样。

如果有任何建议,或者告诉我相关文档,我将非常感激,因为我在他们的文档中没有找到任何关于这个问题的内容。

谢谢,谢谢

amazon-web-services amazon-ec2 amazon-elastic-beanstalk devops
1个回答
1
投票

有可能是某个重要的进程被OOM杀死了,还没有正常启动恢复。你可以看看这个问题,寻求这方面的帮助。寻找哪个进程被Linux OOM杀手杀死了?

可能只需重启服务器,一切又可以正常启动。

最好的解决方法是先不要把内存用完。如果你无法升级服务器,可能由于成本原因,那么可以考虑添加一个交换文件。

我有一个Elastic Beanstalk应用,在这个应用中,我使用ebextension添加了一个交换文件。

# .ebextensions/01-swap.config

commands:
  "01-swap":
    command: |
      dd if=/dev/zero of=/var/swapfile bs=1M count=512
      chmod 600 /var/swapfile
      mkswap /var/swapfile
      swapon /var/swapfile
      echo "/var/swapfile none swap sw 0 0" >> /etc/fstab
    test: test ! -f /var/swapfile

https:/github.comstefansundinrssboxblob1e40fe60f888ad0143e5c4fb83c1471986032963.ebextensions01-swap.config。

© www.soinside.com 2019 - 2024. All rights reserved.