Запуск заводного приложения под Maven - PullRequest
0 голосов
/ 14 мая 2009

Мы разработали Groovy приложение. В стадии разработки для запуска мы используем следующую командную строку

 C:\myapp>mvn grails:run-app

Без отправки какого-либо запроса на сервер можно увидеть, как увеличивается и увеличивается объем памяти, используемой процессом Java. Когда начинается примерно 100M, выделяется и через пару часов - без каких-либо действий - память увеличивается до 300M.

Когда я запускаю приложение напрямую

C:\myapp> grails run-app

потребление памяти как-то отличается, без отправки какого-либо запроса оно как-то стабилизируется на 110M. Иногда поднимается, иногда опускается.

Хотя 300M не критично, я хотел бы знать, если это утечка памяти или нет.

Есть ли у кого подобное поведение?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 мая 2013

Я сомневаюсь, что здесь есть утечка памяти.

Вполне нормально, что JVM ждет полной сборки GC, пока не потребуется. Это означает, что если вы выделите больше памяти, ваш java / groovy процесс будет с удовольствием ее использовать.

Скорее всего, у вас разные настройки памяти по умолчанию для Maven и Grails. Я не уверен точно, как эти свойства установлены в окнах, но они выглядят примерно так:

GRAILS_OPTS = "- Xms100m -Xmx110m"

MAVEN_OPTS = "- Xms100m -Xmx300m"

0 голосов
/ 18 июля 2009

Это может быть утечка памяти в Maven, но, скорее, утечка в grails: команда run-app. Я бы предложил разместить это в списке рассылки разработчиков Grails.

Почему это касается вас? Вы должны использовать эти команды только для разработки, а не для производства, так как вы будете развертывать военный файл в работе. Если вы просто обеспокоены тем, что список рассылки по разработке Grails определенно является местом для чего-то подобного.

...