[z/OS]

z/OS 上的 DEFINE BUFFPOOL (定义缓冲池)

使用 MQSC 命令 DEFINE BUFFPOOL 来定义用于在主存储器中保存消息的缓冲池。

z/OS 上使用 MQSC 命令

有关如何在 z/OS®上使用 MQSC 命令的信息,请参阅 可在 IBM® MQ for z/OS上发出 MQSC 和 PCF 命令的源

您可以从源 1发出此命令。 有关源符号的说明,请参阅 可在 IBM MQ for z/OS上发出 MQSC 和 PCF 命令的源。

同义词:DEF BP

定义缓冲池

读取语法图跳过可视语法图 DEFINE BUFFPOOL ( buf-pool-id ) BUFFERS(1000)BUFFERS(整数)LOC(BELOW)LOCATION(ABOVE)PAGECLAS(4KB)PAGECLAS(FIXED4KB)NOREPLACEREPLACE

使用说明

  1. 在由队列管理器启动式任务过程中的 CSQINP1 DD 并置标识的数据集中指定 DEFINE BUFFPOOL 命令。
  2. 使用 DISPLAY USAGE TYPE (PAGESET) 命令来显示缓冲池信息 (请参阅 z/OS 上的 DISPLAY USAGE (显示使用信息) )。
  3. 使用 ALTER BUFPOOL 命令动态更改预定义缓冲池的设置 (请参阅 z/OS 上的 ALTER BUFFPOOL (改变缓冲池设置) )。

DEFINE BUFFPOOL 的参数描述

如果对同一缓冲池发出多个 DEFINE BUFFPOOL 命令,那么仅处理最后一个命令。
(buf-pool-id)
缓冲池标识。

此参数是 0 到 99 范围内的整数。

BUFFERS(整数
此参数是必需的,是要在此缓冲池中使用的 4096 字节缓冲区的数目。
如果 LOCATION 参数值为 BELOW ,缓冲区的最小值为 100,最大值为 500,000。 如果 LOCATION 参数值为 ABOVE ,则有效值范围为 100 至 999999999(9 个 9)。 用于具有 LOCATION ABOVE 的缓冲池中的缓冲区的存储器以 4MB的倍数获取。 因此,指定 BUFFERS 值 (是 1024 的倍数) 将最有效地使用存储器。
LOCATION( LOC)(低于高于 )
LOCATIONLOC 是同义词,但不能同时使用这两者。

LOCATIONLOC 参数指定指定缓冲池所使用的内存所在的位置。

[不推荐]注意IBM MQ 9.1LOCATIONBELOW )已弃用,您应仅使用 LOCATIONABOVE )。

此内存位置可以是 ABOVE (64位)或 BELOW (31位)。 此参数的有效值为 BELOWABOVE ,默认值为 BELOW

更改缓冲池时,应注意确保在增加缓冲区数或更改 LOCATION 值时有足够的可用存储空间。 切换缓冲池的位置可能是 CPU 和 I/O 密集型任务。 当队列管理器未大量使用时,应执行此任务。

有关更多信息,请参阅 地址空间存储器

PAGECLAS( 4KBFIXED4KB )

可选参数,用于描述用于支持缓冲池中的缓冲区的虚拟存储器页面的类型。

此属性适用于缓冲池中的所有缓冲区,包括使用 ALTER BUFFPOOL 命令后添加的缓冲区。 默认值为 4KB ,这意味着可分页的 4KB用于支持池中的缓冲区。

如果缓冲池的 LOCATION 属性设置为 BELOW , 4KB 是唯一有效的值。 如果缓冲池的 LOCATION 属性设置为 ABOVE ,也可以指定 FIXED4KB 。 这意味着, 4KB (永久存储在真实存储中,永远不会转移到辅助存储)用于支持缓冲池中的缓冲区。

缓冲池的 PAGECLAS 属性可以随时更改。 但是,仅当缓冲池将位置从条形上方切换到条形下方或以其他方式切换时,才会发生更改。 否则,该值将存储在队列管理器的日志中,并在队列管理器下次重新启动时应用。

当您指定 PAGECLASFIXED4KB )时,整个缓冲池由固定4KB页面支持,因此请确保LPAR上有足够的可用实际存储空间。 否则,队列管理器可能无法启动,或者其他地址空间可能会受到影响。 更多信息,请参阅地址空间存储

请发送邮件至 IBM MQ 支持 MP16: : IBM MQ for z/OS - 容量规划与调整 ,以获取何时使用 FIXED4KB 值的建议 PAGECLAS 属性。

REPLACE/NOREPLACE
可选属性,用于描述缓冲池的此定义是否覆盖可能已包含在队列管理器日志中的任何定义。
队列管理器将当前缓冲池设置记录在检查点日志记录中。 稍后重新启动队列管理器时,将自动复原这些缓冲池设置。 此复原在处理 CSQINP1 数据集后进行。
因此,如果您自上次定义缓冲池以来一直使用 ALTER BUFFPOOL ,则重新启动时 CSQINP1 中的任何 DEFINE BUFFPOOL 命令都会被忽略,除非指定了 REPLACE 属性。
注意: 如果您CSQINP1指定了 DEFINE BUFFPOOL 命令的 REPLACE 属性,那么过了一段时间后,您又指定了 ALTER BUFFPOOL 命令来增加缓冲池的大小(例如,由于工作量的增加,对缓冲池的使用需求也随之增加),这可能会导致下次重启队列管理器时出现问题。

重启后,缓冲池将恢复到 CSQINP1 中定义的原始大小,因此无法处理增加的工作量。 因此,一旦缓冲池成功定义,您应该考虑CSQINP1 DEFINE BUFFPOOL 命令中删除 REPLACE 属性。

这将确保在重新启动队列管理器时,因指定 ALTER BUFFPOOL 命令而对缓冲池所做的任何更改都能保留下来。

REPLACE
缓冲池的此定义将覆盖存储在队列管理器日志中的定义 (如果有)。 如果队列管理器日志中的定义与此定义不同,那么将废弃差异并发出消息 CSQP064I
NOREPLACE
这是缺省值,并提供与 IBM MQ的前发行版相同的行为。 如果在使用的队列管理器的日志中存在缓冲池的定义,那么将忽略此定义。
注意: 队列管理器将当前缓冲池设置记录在检查点日志记录中。 稍后重新启动队列管理器时,将自动复原这些缓冲池设置。 此复原在处理 CSQINP1 数据集后进行。 因此,如果自上次定义缓冲池以来使用了 ALTER BUFFPOOL ,那么除非指定了 REPLACE 属性,否则在重新启动时将忽略 CSQINP1 中的任何 DEFINE BUFFPOOL 命令。