Payara : Высокая загрузка памяти родительского процесса «admin-cli»

#glassfish #payara

Вопрос:

У нас есть одна машина , на которой несколько локальных экземпляров payara запущены через службы Windows, эти службы создаются с помощью обычной команды asadmin «создать службу».

Проблема, с которой мы столкнулись в последнее время, заключается в том, что родительский процесс, запустивший локальный экземпляр payara, начал потреблять больше памяти ( ~1-1, 5 ГБ ).

Мы понимаем, что этот родительский процесс, запущенный с помощью приведенной ниже команды, предназначен только для запуска «локального экземпляра» и его мониторинга, поэтому потребление памяти должно быть меньше <200 МБ ( потребление при запуске) и не должно достигать ~ >= 1 ГБ.

 nadmin.bat start-local-instance --watchdog --nodedir D:/payara5/glassfish/nodes --node localhost-production <localInstanceName>
 

Поскольку мы не очень контролируем потребление памяти этим родительским процессом (admin-cli), мы попытались найти в документации другие варианты запуска всех экземпляров с использованием службы единого окна, но я считаю, что такой возможности нет.

Группа развертывания-это то, что можно использовать, но нет способа создать службу Windows для группы развертывания ( пожалуйста, поправьте меня, если я ошибаюсь ).

Пожалуйста, предложите, в чем может быть проблема с такой высокой загрузкой памяти этого родительского процесса(admin-cli) для запуска экземпляра в режиме —watchdog.

Мы также попытались взять дамп кучи этого родительского процесса, но размер кучи не отражает фактическое потребление памяти. Например : фактический процесс занимает 1 ГБ, но размер кучи показывает

Пожалуйста, предложите.

заранее спасибо. Абдул Мохсин

Ответ №1:

У нас также однажды были проблемы с аналогичной проблемой, когда asadmin команда занимала слишком много памяти.

Причина этого в том, что процесс не имеет установленного ограничения на размер кучи и, следовательно, занимает определенную часть памяти при запуске (обычно 1/4). Это зависит от различных параметров, таких как ваша ОС, размер оперативной памяти или архитектура процессора. См. раздел Начальный и максимальный размеры кучи JVM сервера

Однако, поскольку мы не хотели ничего менять в сценариях, предоставленных Payara, мы решили проблему, установив JAVA_TOOL_OPTIONS=-Xmx128m среду оболочки, в которой мы вызвали asadmin процесс. Это привело к тому, что размер кучи для asadmin процесса составил 128 МБ.

Если вы хотите напрямую изменить пакетный файл, вы можете также написать

 %JAVA% -Xmx128m -jar "%~dp0..modulesadmin-cli.jar" %*
 

Комментарии:

1. Спасибо, Кристоф ! Просто хотел подтвердить, что вы добавили его в командный файл : «nadmin.bat» по команде ниже : %JAVA% -jar "%~dp0..modulesadmin-cli.jar" %* С уважением, Абдул

2. Обновил свой ответ.