根据您的流量和处理要求,您可能需要更改堆内存 运行基于 Java 的 Private Cloud 的节点的大小或类元数据大小 组件。
本部分提供默认和推荐的 Java 堆内存大小,以及 更改默认设置的过程。最后,本部分介绍了如何更改 使用属性文件的 JVM 设置。
默认和建议的堆内存大小
下表列出了基于 Java 的默认和建议的 Java 堆内存大小 Private Cloud 组件:
组件 | 属性文件名 | 默认 堆大小 |
建议的 堆大小 |
---|---|---|---|
运行时 | |||
Cassandra | 不适用 | 自动配置1 | 自动配置1 |
消息处理器 | message-processor.properties |
512MB | 3GB - 6GB2 |
路由器 | router.properties |
512MB | 512MB |
Analytics | |||
Postgres 服务器 | postgres-server.properties |
512MB | 512MB |
Qpid 服务器 | qpid-server.properties |
512MB | 2GB - 4GB |
管理 | |||
管理服务器 | management-server.properties |
512MB | 512MB |
界面 | ui.properties |
512MB | 512MB |
OpenLDAP | 不适用 | 原生应用3 | 原生应用3 |
ZooKeeper | zookeeper.properties |
2048 MB | 2048 MB |
备注 | |||
1 在以下情况下,Cassandra 会动态计算最大堆大小 启动目前,该内存是系统总内存的一半,最多为 8192 MB。如需了解如何设置堆大小,请参阅更改堆 内存大小。 |
|||
2 对于消息处理器,Apigee 建议您设置
介于 3GB 到 6GB 之间。仅在执行后将堆大小增加到 6GB 以上
性能测试
如果堆用量在性能测试期间接近上限,则提高 上限如需了解如何设置堆大小,请参阅 更改堆内存大小。 |
|||
3 并非所有私有云组件都是用 Java 实现的。因为 它们不是基于 Java,在主机平台上以原生方式运行的应用也没有 可配置的 Java 堆大小;而是依赖主机系统 管理。 |
为了确定 Apigee 建议您为基于 Java 的进程分配多少内存总量 组件,请为该节点上的每个组件添加上面列出的值。例如,如果 您的节点同时托管 Postgres 和 Qpid 服务器,那么 Apigee 建议您将总内存 分配在 2.5GB 到 4.5GB 之间。
如需查看所需硬件(例如 RAM)的列表,请参阅 安装要求。
更改堆内存大小
要更改堆内存设置,请修改组件的属性文件。例如,对于
消息处理器,修改
/opt/apigee/customer/application/message-processor.properties
文件。
如果 message-processor.properties
文件
不存在,或者任何 Edge 组件的相应 .properties
文件存在
不存在,请创建该文件,然后将文件的所有权更改为“apigee”用户,如下所示:
显示:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
如果该组件安装在多台计算机上,例如,消息处理器 (Message Processor), 必须在托管组件的所有机器上修改属性文件。
下表列出了可通过修改来更改堆大小的属性:
属性 | 说明 |
---|---|
bin_setenv_min_mem |
最小堆大小。默认值是根据 默认和建议的堆内存大小。 此设置对应于 Java |
bin_setenv_max_mem |
最大堆大小。默认值是根据 默认和建议的堆内存大小。 此设置对应于 Java |
bin_setenv_meta_space_size |
默认的类元数据大小。默认值设置为
此设置对应于 Java |
在节点上设置堆大小属性时,请使用“m”以表示兆字节的后缀,因为 如下例所示:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
在属性文件中设置值后,重启组件:
/opt/apigee/apigee-service/bin/apigee-service component restart
例如:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
更改其他 JVM 属性
对于不受上述属性控制的 Java 设置,您还可以传入额外的
任何 Edge 组件的 JVM 标志或值。系统将在以下位置读取 *.properties
文件:
由 Bash 编写,并且应用 '
(单引号)括起来,以保留字面量字符或
"
(英文双引号)(如果需要 shell 扩展)。
bin_setenv_ext_jvm_opts
:设置任何 Java 属性。例如:bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
但是,请勿将
bin_setenv_ext_jvm_opts
用于 设置-Xms
、-Xmx
或-XX:MetaspaceSize
,因为这些值 由上面列出的属性控制
如需了解有关为 Private Cloud 组件配置内存的其他提示,请参阅 这个 文章。