内存限制超过512M

时间:2012-11-22 18:03:27

标签: grails cloudfoundry permgen vmc

我正在尝试在cloudfoundry.com上运行Grails应用程序,但它返回502 Bad Gateway,然后是404 Not Found。我找到了logs / err.log,它说:

# Logfile created on 2012-11-22 17:39:55 +0000 by logger.rb/25413
F, [2012-11-22T17:39:55.488036 #10723] FATAL -- : Memory limit of 512M exceeded.
F, [2012-11-22T17:39:55.488101 #10723] FATAL -- : Actual usage was 516M, process terminated.

在此之前,我收到了PermGen空间错误,因此我将其添加到环境中:

+-----------+----------------------------------------+
| Variable  | Value                                  |
+-----------+----------------------------------------+
| JAVA_OPTS | -XX:MaxPermSize=512m -Xms512M -Xmx512M |
+-----------+----------------------------------------+

我有哪些选择?我可以进行任何调整以使我的应用程序适合512M吗?如果我减少MaxPermSize,那会给我的应用程序更多空间吗?有没有办法确定需要什么尺寸的Perm空间?

或者我只是简单地超越了CloudFoundry?有没有办法(包括支付)在CloudFoundry上获得更大的虚拟机?或者我是否必须完全转移到其他服务?

2 个答案:

答案 0 :(得分:4)

您只需更改分配给应用程序的资源量。例如,您可以使用VMC将名为my app的应用程序的内存分配更改为1GB;

vmc mem myapp 1G

请注意,您的帐户所有应用程序的最大值均为2G。

答案 1 :(得分:0)

我遇到了同样的问题且vmc api已更改,并将被cf取代。

到目前为止,增加应用内存的方法是执行vmc scale [APP] --memory MEMORY。例如,如果您想将应用程序增加到1G,则命令将为vmc scale yourappname --memory 1G