玩! AWS上的部署问题"无法分配内存"

时间:2014-05-19 22:28:09

标签: amazon-web-services playframework web-deployment

我按照播放部署说明使用"播放清洁阶段"打包应用程序。将软件包上传到aws EC2实例后,我尝试使用以下命令启动它:

target/universal/stage/bin/myapp -Dconfig.file=target/universal/stage/conf/application.conf

但它的消息失败了:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 715849728 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/jvm-14940/hs_error.log

我尝试添加以下参数:-mem=512-Xms256m -Xmx512m。但到目前为止没有任何作用有人可以帮助我如何运行播放应用程序吗?

2 个答案:

答案 0 :(得分:3)

我在AWS上运行Play app时遇到了同样的问题。但是,我打包了应用程序,并尝试通过自动生成的shell脚本从bin运行它。

所以,基本上我做了

  1. play dist
  2. 将zip文件复制到EC2
  3. 解压
  4. 转到bin目录并运行以下命令
  5. ./我-APP-名称
  6. 这给了我完全相同的错误。我只是使用下面的命令行参数运行它,它工作。

      

    ./ my-app-name -mem 512

    希望这会有所帮助。

答案 1 :(得分:0)

雅,用于微型实例的内存太多,我相信它们的上限为615mb。

您的应用程序捆绑了什么?玩!它本身不应该使用那么多内存。

或者,您可以转到AWS Dashboard,在其中列出您的实例,右键单击您想要的实例并将其更改为“小型”实例。或者' medium',但你最终会为此付钱。