![[MQ 9.4.0 2024 年 7 月]](ng940.gif)
![[z/OS]](ngzos.gif)
来自 IBM MQ 9.4.0 的通道启动程序存储器配置
通道启动程序使用的 64 位存储器通常比队列管理器少得多。 但是,从 IBM® MQ 9.4.0 开始,使用量已增加。 除了 64 位存储外,还应在通道启动器 JCL 上指定 REGION=0M ,允许通道启动器使用所有可用的 31 位存储。
公共存储器
通道启动程序通常需要最多使用 160KB的 ECSA。
31 位专用存储器
可用于通道启动程序的 31 位存储器限制了 CHINIT 可拥有的并发连接数。
- 发送或客户机通道需要小于当前缓冲区大小一半的 10 条连续消息。
- 发送或接收脉动信号。
该存储空间已在 Language Environment 中释放以便重复使用,但虚拟存储 z/OS® 管理器并未将其视为可用空间。 这意味着通道数的上限取决于消息大小和到达模式以及单个用户系统对扩展专用区域大小的限制。
在许多系统上,通道数的上限可能大约为 9000 ,因为扩展区域大小不可能超过 1.6GB。
通道启动程序跟踪将写入数据空间。 数据空间存储器的大小由 TRAXTBL 参数控制。 请参阅 ALTER QMGR。
64 位专用存储器
通道启动器JCL的 MEMLIMIT 参数定义了可用的最大64位存储量。 2 GB的存储空间, MEMLIMIT=2G ,是您应该使用的最小值。 根据您的配置,可能需要更多内容。
您应该指定一个合理的 MEMLIMIT 值,而不是 MEMLIMIT=NOLIMIT ,以防止潜在的问题。 如果您指定了 NOLIMIT 或非常大的值,则可能会耗尽所有可用的 z/OS 虚拟存储空间,从而导致系统出现分页。 当增加 MEMLIMIT 的值时,您应该与您的 z/OS 系统程序员讨论新的设置,以防系统对可用的存储空间总量有限制。
如果您对 MEMLIMIT 的数值较大,您可能需要增加转储数据集的大小,因为转储中捕获的数据量更大。
通道启动程序中有两个 64 位存储器的用户 :SMF 和服务器连接通道。
如果启用,那么 SMF 类 4 记帐或统计信息需要 64 位存储器。 至少需要 256MB 存储空间。 如果没有足够的存储空间可用,那么通道启动程序将发出 CSQX124E 消息,并且类 4 记帐和统计信息不可用。
从 IBM MQ 9.4.0 服务器连接通道在 64 位存储器中分配消息缓冲区 (如果它们正在传输大小大于 32 KB 的消息)。
如果通道需要小于 10 条连续消息的当前缓冲区大小的一半,或者发送或接收脉动信号,那么将释放这些缓冲区。
MEMLIMIT 的值设定了可运行的服务器连接通道数量上限。 您应该使用最小值 MEMLIMIT=2G ,以确保与早期版本的 IBM MQ 一样,能够运行相同数量的通道,同时为增长提供一定的容量。
您可以计算出 MEMLIMIT 的近似值,方法是计算服务器连接通道的最大并发数量,以及这些通道传输的最大消息大小。 您应该使用 MEMLIMIT=2G 作为起点,并以此结尾。
例如,如果您将服务器连接通道的最大并发数设置为2000,且每个通道的最大消息大小为 1MB ,那么服务器连接通道最多只占用不到 2GB 的64位存储空间。 由于这个数字非常接近 2GB ,所以您应该将其四舍五入为 MEMLIMIT=3G 。