2012-11-22 42 views
1

我試圖在cloudfoundry.com上運行Grails應用程序,但它返回502 Bad Gateway,然後返回404 Not Found。我所在的日誌/ err.log,和它說:超過512M的內存限制

# 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

(另外,請注意,默認的PermGen是* 64MiB *,有時需要擴展,說* 96MiB *。512MiB是*對於PermGen來說太大了。) – 2012-11-22 18:12:29

+0

感謝您的提示。我想知道這件事。我從http://stackoverflow.com/questions/10689043/does-cloudfoundry-support-apps-that-require-larger-memory/11089063#11089063得到了JAVA_OPTS – greymatter

回答

4

您只需更改分配給應用程序的資源量。例如,您可以使用VMC執行此操作,將名爲我的應用程序的應用程序的內存分配更改爲1GB;

vmc mem myapp 1G 

請記住,您的帳戶在所有應用程序中的最大值爲2G。

0

我遇到了同樣的問題,vmc api發生了變化,將被替換爲cf

現在,增加應用程序內存的方式正在執行vmc scale [APP] --memory MEMORY。例如,如果你想增加你的應用到1G的命令將是vmc scale yourappname --memory 1G