我们开发了一个Groovy应用程序。正在开发中,我们使用以下命令行
C:\myapp>mvn grails:run-app
在不向服务器发送任何请求的情况下,可以看到java进程使用的内存如何增加和增加。当它以大约100M的速度开始分配并且几个小时之后 - 没有做任何事情 - 内存上升到300M。
当我直接启动应用程序时
C:\myapp> grails run-app
内存消耗在某种程度上是不同的,没有发送任何请求它在某种程度上稳定在110M。有时会上升,有时会下降。
虽然300M并不重要,但我想知道这是否是内存泄漏。
有人有类似的行为吗?
谢谢!
答案 0 :(得分:0)
这可能是Maven中的内存泄漏,但更可能是grails中的泄漏:run-app命令。我建议在Grails开发邮件列表上发布这个。
为什么这会引起你的注意?您应该只使用这些命令进行开发,而不是生产,因为您要在生产中部署war文件。如果您只是担心,Grails开发邮件列表肯定是这样的地方。
答案 1 :(得分:0)
我怀疑这里有内存泄漏。
JVM必须等待完整的GC,这是完全正常的。这意味着如果你分配更多的内存,你的java / groovy进程将很乐意使用它。
很可能你对Maven和Grails有不同的默认内存设置。我不确定在Windows中如何设置这些属性,但它们看起来像:
GRAILS_OPTS =“ - Xms100m -Xmx110m”
MAVEN_OPTS =“ - Xms100m -Xmx300m”