Amazon ec2 在Amazon EC2微实例中运行play framework应用程序

Amazon ec2 在Amazon EC2微实例中运行play framework应用程序,amazon-ec2,playframework-2.0,Amazon Ec2,Playframework 2.0,我有一个非常基本的剧本!这个应用程序只需处理几个普通的GET和POST请求,并与一个MySQL数据库对话,没什么特别的 我运行了playdist,并将zip文件传输到我的EC2实例。解压后,转到bin文件夹并运行/myapp,我收到一条消息: Java HotSpot(TM) 64-Bit Server VM warning: Info: os::commit_memory ... error='Cannot allocate memory' (errorno=12) There is insu

我有一个非常基本的剧本!这个应用程序只需处理几个普通的GET和POST请求,并与一个MySQL数据库对话,没什么特别的

我运行了
playdist
,并将zip文件传输到我的EC2实例。解压后,转到
bin
文件夹并运行
/myapp
,我收到一条消息:

Java HotSpot(TM) 64-Bit Server VM warning: Info: os::commit_memory ... error='Cannot allocate memory' (errorno=12)
There is insufficient memory for the Java Runtime Environment to continue.
我正在运行PlayVersion2.2.1,这个实例有大约512MB的ram,使用64位版本的OracleJDK。这还不足以上演一出戏吗!还是我遗漏了什么


谢谢。

使用play2.2.1我必须运行
playdist
来生成zip文件。然后我将其复制到aws实例。 到达后,我提取了zip并更改了可执行文件:

发件人:

致:

那是为了我。我从中得到了这个想法,但我不想删除他们在那里的逻辑,所以我只是减少了默认值

另外请注意,在aws ec2 micro上:

$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.14) (amazon-65.1.11.14.57.amzn1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
因此,在运行nin
playdist
时,必须使用相同的Java JDK

编辑:


我将java更新为openjdk 7,并且能够在没有任何错误的情况下运行示例play应用程序。

play Framework 2.3现在有了一个漂亮的小功能

$ /path/to/bin/<project-name> -mem 512 -J-server
$/path/to/bin/-mem 512-J-server
应该把工作做完

阅读


指定其他JVM参数 您可以为启动脚本指定任何JVM参数。否则将使用默认的JVM设置:

$/path/to/bin/-J-Xms128M-J-Xmx512m-J-server 为方便起见,您还可以一次性设置内存最小值、最大值、永久值和保留代码缓存大小;一个公式用于 根据提供的参数(表示最大内存)确定这些值:


$/path/to/bin/-mem 512-J-server

我还尝试使用openjdk运行它,并收到另一条类似的错误消息:“无法为对象堆保留足够的空间”Play可以在一个小堆中运行-您是否尝试过通过Play new创建一个示例应用程序而不做任何更改?您还可以查看bin脚本的选项并分配较小的内存量。这很有吸引力,但是,有没有一种方法可以自动执行此过程,这样就不必在每次更新时都执行编辑?这种方法效果更好-$/path/to/bin/-mem 512-J-server谢谢。使用play2.3(activator)在digital ocean 512服务器上为我工作注意:这也适用于activator!(
activator清洁阶段-mem 512
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.14) (amazon-65.1.11.14.57.amzn1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
$ /path/to/bin/<project-name> -mem 512 -J-server