#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. Обновил свой ответ.