我正在尝试在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上获得更大的虚拟机?或者我是否必须完全转移到其他服务?
答案 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