您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
Apigee Edge 的消息处理器是一个基于 Java 的组件,默认堆内存大小为 512 MB。但是,默认堆内存大小可能不足以满足 Apigee Edge 上的所有用例。您可能需要根据 流量和处理要求调整消息处理器的堆内存大小,或解决任何与内存相关的问题。
Java 应用的堆内存大小通过 Java 命令行参数
-Xms(最小堆大小)和-Xmx(最大堆大小)进行控制。在 Apigee
Edge 消息处理器上,这些参数通过属性 bin_setenv_min_mem
和 bin_setenv_max_mem 进行控制。如需详细了解这些属性,请参阅
修改 Java 内存设置。
本文档介绍了如何在 Apigee Edge 的消息处理器上配置堆内存大小。
准备工作
- 如果您不熟悉如何在 Edge for Private Cloud 上配置属性,请阅读 如何配置 Edge。
- 如需了解默认和推荐的 Java 内存设置,请参阅 修改 Java 内存设置。
更改消息处理器上的堆内存大小
本部分介绍了如何更改消息处理器上的堆内存大小。可以通过消息处理器组件上的属性 bin_setenv_min_mem 和 bin_setenv_max_mem 配置最小和最大堆内存。
如需更改消息处理器上的堆内存大小,请执行以下步骤:
- 在编辑器中打开消息处理器机器上的
/opt/apigee/customer/application/message-processor.properties文件。如果该文件尚不存在,请创建该文件。 例如:vi /opt/apigee/customer/application/message-processor.properties
- 将以下行添加到此文件:
bin_setenv_min_mem=minimum_heap_in_megabytes bin_setenv_max_mem=maximum_heap_in_megabytes
例如,如果您想将消息处理器上的最小和最大堆分别更改为 1 GB 和 2 GB,请将以下行添加到此文件:
bin_setenv_min_mem=1024m bin_setenv_max_mem=2048m
- 保存所做的更改。
-
确保此属性文件的所有者是
apigee用户。例如:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
使用以下命令重启消息处理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 如果您有多个消息处理器,请在所有消息处理器上重复这些步骤。
验证消息处理器上的堆内存大小
本部分介绍了如何验证消息处理器上的堆内存更改是否已成功修改 。
即使您使用了属性 bin_setenv_min_mem 和 bin_setenv_max_mem 来更改消息处理器上的堆内存大小,您也需要验证实际的
Java 命令行参数 -Xms 和 -Xmx 是否已设置为新值,如下所示:
- 使用以下命令搜索,查看是否已为消息处理器设置了带有新值的命令行参数
-Xms和-Xmx:ps -ef | grep message-processor | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
-
如果消息处理器上的最小和最大堆内存已更改,则
上一个命令会显示为
-Xms和-Xmx列出的新值。在您更改消息处理器上的最小和最大 堆后,上一个命令的示例结果如下所示:
Xms1024m Xmx2048m
在示例输出中,请注意,最小和最大堆的新值已设置。
-
如果您仍然看到
-Xms和-Xmx的旧值,请验证您是否已正确执行 更改消息处理器上的堆内存大小 中列出的所有步骤。如果您遗漏了任何步骤,请再次正确重复所有步骤。 - 如果您仍然无法更改堆内存,请与 Apigee Edge 支持团队联系。