4.8. 覆盖代理的默认内存限值
您可以覆盖为代理设置的默认内存限值。默认情况下,代理被分配一个最大内存的一半,该内存可供代理的 Java 虚拟机使用。以下流程演示了如何为代理部署配置自定义资源(CR)实例,以覆盖默认内存限值。
先决条件
- 您应该熟悉如何使用 CR 实例创建基本代理部署。请参阅 第 3.4.1 节 “部署基本代理实例”。
流程
开始配置自定义资源(CR)实例以创建基本代理部署。
使用 OpenShift 命令行界面:
以具有特权在项目中为代理部署 CR 的用户身份登录 OpenShift。
oc login -u <user> -p <password> --server=<host:port>
oc login -u <user> -p <password> --server=<host:port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
打开名为
broker_activemqartemis_cr.yaml的示例 CR 文件,该文件包含在您下载和提取的 Operator 安装存档的deploy/crs目录中。
使用 OpenShift Container Platform Web 控制台:
- 以具有特权在项目中为代理部署 CR 的用户登录到控制台。
-
根据主代理 CRD 启动一个新的 CR 实例。在左侧窗格中,点
。 - 单击 ActiveMQArtemis CRD。
- 点 实例 选项卡。
单击 Create ActiveMQArtemis。
在控制台中,会打开 YAML 编辑器,供您配置 CR 实例。
例如,基本代理部署的 CR 可能类似以下:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 CR 的
spec部分中,添加一个brokerProperties部分。在brokerProperties部分中,添加一个globalMaxSize属性并指定内存限制。例如:spec: ... brokerProperties: - globalMaxSize=500m ...spec: ... brokerProperties: - globalMaxSize=500m ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow globalMaxSize属性的默认单位为字节。要更改默认单元,请在值中添加 m (用于 MB)或 g ( GB)后缀。将更改应用到 CR。
使用 OpenShift 命令行界面:
- 保存 CR 文件。
切换到代理部署的项目。
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 CR。
oc apply -f <path/to/broker_custom_resource_instance>.yaml
$ oc apply -f <path/to/broker_custom_resource_instance>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 OpenShift Web 控制台:
- 编辑完 CR 后,点 Save。
(可选)验证您为
globalMaxSize属性设置的新值覆盖分配给代理的默认内存限值。- 连接到 AMQ 管理控制台。更多信息请参阅 第 5 章 为基于 Operator 的代理部署连接到 AMQ 管理控制台。
- 在菜单中选择 JMX。
- 选择 org.apache.activemq.artemis。
-
搜索
全局。 -
在显示的表中,确认 Global max 列中的值与您为
globalMaxSize属性配置的值相同。