【问题标题】:Payara : High memory utilization of "admin-cli" - parent processPayara:“admin-cli”的高内存利用率 - 父进程
【发布时间】:2021-05-25 14:36:29
【问题描述】:

我们有一台机器,其中多个本地 payara 实例通过 windows 服务运行,这些服务是使用通常的“create-service”asadmin 命令创建的。

我们最近面临的问题是启动payara本地实例的父进程开始消耗更多内存(~1 to1.5 GB)。

我们了解到,使用以下命令触发的这个父进程只是为了启动“local-instance”并对其进行监控,因此内存消耗应低于 = 1GB。

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

由于我们对此父进程 (admin-cli) 的内存消耗没有太多控制,我们试图在文档中找到其他选项来使用单个窗口服务启动所有实例,但我相信没有这样的选项可用。

部署组是可以使用的东西,但是没有办法为部署组创建windows服务(如果我错了请纠正我)。

请提出这个父进程(admin-cli)在 --watchdog 模式下启动实例的高内存利用率可能是什么问题。

我们也尝试获取此父进程的堆转储,但堆大小并未反映实际的内存消耗。例如:实际进程占用 1 GB,但堆大小显示

请提出建议。

提前致谢。 阿都莫辛

【问题讨论】:

    标签: glassfish payara


    【解决方案1】:

    我们曾经也遇到过类似的问题,asadmin 命令会占用太多内存。

    原因是进程没有设置堆大小限制,因此在启动时会占用一定部分的内存(通常为 1/4)。这取决于不同的参数,例如您的操作系统、RAM 大小或处理器架构。见Server JVM initial and maximum heap sizes

    但是,由于我们不想更改 Payara 提供的脚本中的任何内容,因此我们通过在调用 asadmin 进程的 shell 环境中设置 JAVA_TOOL_OPTIONS=-Xmx128m 来解决此问题。这迫使asadmin 进程的堆大小为 128MB。

    如果你想直接更改批处理文件,那么你也可以写

    %JAVA% -Xmx128m -jar "%~dp0..\modules\admin-cli.jar" %*
    

    【讨论】:

    • 感谢克里斯托夫!只是想确认您是否在批处理文件中添加了它:“nadmin.bat”在下面的命令中:%JAVA% -jar "%~dp0..\modules\admin-cli.jar" %*问候,阿卜杜勒
    • 更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 2023-03-16
    • 2016-05-13
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多