在 Qpid 服务器上配置堆内存大小

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

Apigee Edge 的 Qpid 服务器是一个基于 Java 的组件,使用 512 MB 的默认堆内存大小。但是,默认堆内存大小可能并不足以满足 Apigee Edge 上的所有用例。您可能需要根据流量和处理要求调整 Qpid 服务器的堆内存大小,或者解决任何与内存相关的问题。

Java 应用的堆内存大小通过 Java 命令行参数 -Xms(最小堆大小)和 -Xmx(最大堆大小)控制。在 Apigee Edge Qpid 服务器上,这些属性通过 bin_setenv_min_membin_setenv_max_mem 属性进行控制。如需详细了解这些属性,请参阅 修改 Java 内存设置

本文档介绍如何在 Apigee Edge 的 Qpid 服务器上配置堆内存大小。

准备工作

更改 Qpid 服务器上的堆内存

本节介绍如何更改 Qpid 服务器上的堆内存大小。最小和最大堆内存可通过 Qpid 服务器组件上的 bin_setenv_min_membin_setenv_max_mem 属性进行配置。

要更改 Qpid 服务器上的堆内存大小,请执行以下步骤:

  1. 使用编辑器打开 Qpid 服务器机器上的 /opt/apigee/customer/application/qpid-server.properties 文件。如果该文件尚不存在,请创建一个。 例如:
    vi /opt/apigee/customer/application/qpid-server.properties
    
  2. 将以下代码行添加到此文件中:
  3. bin_setenv_min_mem=minimum_heap_in_megabytes
    bin_setenv_max_mem=maximum_heap_in_megabytes
    

    例如,如果您要将 Qpid 服务器上的最小和最大堆分别更改为 1 GB 和 2 GB,请在此文件中添加以下代码行:

    bin_setenv_min_mem=1024m
    bin_setenv_max_mem=2048m
    
  4. 保存更改。
  5. 确保此属性文件归 apigee 用户所有。例如:
    chown apigee:apigee /opt/apigee/customer/application/qpid-server.properties
    
  6. 使用以下命令重启 Qpid 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    
  7. 如果您有多个 Qpid 服务器,请对所有 Qpid 服务器重复这些步骤。

验证 Qpid 服务器上的堆内存配置

本部分介绍如何验证堆内存更改是否已在 Qpid 服务器上成功修改。

即使您已使用 bin_setenv_min_membin_setenv_max_mem 属性更改 Qpid 服务器上的堆内存大小,您也需要验证实际 Java 命令行参数 -Xms-Xmx 是否已使用新值设置,如下所示:

  1. 使用以下命令搜索命令行参数 -Xms-Xmx 是否已使用 Qpid 服务器的新值设置:
    ps -ef | grep qpid-server | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
    
  2. 如果 Qpid 服务器上的最小和最大堆内存已更改,则上一条命令会显示为 -Xms-Xmx. 列出的新值

    更改 Qpid 服务器上的最小和最大堆后,上述命令的示例结果如下所示:

    Xms1024m
    Xmx2048m
    

    请注意,在示例输出中,最小和最大堆的新值已设置。

  3. 如果您仍然看到 -Xms-Xmx 的旧值,请确认您是否已正确执行了 在 Qpid 服务器上更改堆内存大小中所述的所有步骤。如果遗漏了任何步骤,请再次正确重复所有步骤。
  4. 如果您仍然无法更改堆内存,请与 Apigee 支持团队联系。

后续操作

在消息处理器上配置堆内存大小