我的grails应用程序在一个测试程序调用3000次http后在cloudfoundry上失败

我的grails应用程序在一个测试程序调用3000次http后在cloudfoundry上失败,grails,cloud-foundry,Grails,Cloud Foundry,我已经通过运行在桌面PC上的grails应用程序运行了80000个http调用,但没有失败。在cloudfoundry上,相同的应用程序在大约3000次http调用后内存不足。该应用程序使用MySql、Mongodb和RabbitMQ。在Cloudfoundry上,我使用VMC命令将内存增加到1G。当测试程序运行时,我可以使用VMC stats命令观察内存使用情况,内存使用量增长到1G,应用程序失败。我正在本地机器上使用Grails2.0.1 是什么导致了这个问题 是否与此有关: 对于Java

我已经通过运行在桌面PC上的grails应用程序运行了80000个http调用,但没有失败。在cloudfoundry上,相同的应用程序在大约3000次http调用后内存不足。该应用程序使用MySql、Mongodb和RabbitMQ。在Cloudfoundry上,我使用VMC命令将内存增加到1G。当测试程序运行时,我可以使用VMC stats命令观察内存使用情况,内存使用量增长到1G,应用程序失败。我正在本地机器上使用Grails2.0.1

是什么导致了这个问题


是否与此有关:

对于Java web应用程序,您还需要设置Xmx:

vmc set-env APP JAVA_OPTS="-Xmx1024M"

对于Java web应用程序,您还需要设置Xmx:

vmc set-env APP JAVA_OPTS="-Xmx1024M"

您可能会从中得到一些好处,因为您的测试应用程序很可能类似于批处理应用程序


您应该使用jconsole在本地运行时监视应用程序,并将分配给java的本地内存设置为与cloudfoundry相同的值,以查看是否可以重现错误。如果jconsole显示您从未释放内存,那么您可能存在漏洞,并且不允许垃圾回收。

您可能会从中获得一些使用,因为您的测试应用程序很可能与批处理应用程序类似

您应该使用jconsole在本地运行时监视应用程序,并将分配给java的本地内存设置为与cloudfoundry相同的值,以查看是否可以重现错误。如果jconsole显示您从未释放内存,那么您可能存在漏洞,并且不允许垃圾回收