在Maven下运行一个常规应用程序

时间:2009-05-14 08:20:32

标签: maven-2 memory-leaks groovy

我们开发了一个Groovy应用程序。正在开发中,我们使用以下命令行

 C:\myapp>mvn grails:run-app

在不向服务器发送任何请求的情况下,可以看到java进程使用的内存如何增加和增加。当它以大约100M的速度开始分配并且几个小时之后 - 没有做任何事情 - 内存上升到300M。

当我直接启动应用程序时

C:\myapp> grails run-app

内存消耗在某种程度上是不同的,没有发送任何请求它在某种程度上稳定在110M。有时会上升,有时会下降。

虽然300M并不重要,但我想知道这是否是内存泄漏。

有人有类似的行为吗?

谢谢!

2 个答案:

答案 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”