64 位存储器中的 DSA:GCDSA、GUDSA 和 GSDSA

高于界线的 CICS® 动态存储区统称为高于界线的动态存储区 (GDSA)。 该存储器是 64 位存储器。 z/OS® MEMLIMIT 参数限制 CICS 区域 (包括 GDSA) 中的 64 位存储器。

z/OS 操作系统分配给 CICS 地址空间的 MEMLIMIT 值控制 CICS 区域中 64 位存储器的上限。 该 64 位存储包括 GDSA 和 GDSA 以外CICS区域中的 MVS 存储。 GDSA 外部的 MVS 64 位分配的一些示例如下:
  • CICS 内部跟踪表
  • TSMAINLIMIT 控制的主临时存储器队列
  • 与 JVM 相关的存储器
    • 由选项 -Xms-Xmx 控制的初始存储堆
    • HEAP64 运行时选项
  • 请求 64 位存储器的应用程序

相反, DSALIM 值指定的 24 位存储器和 EDSALIM 值指定的 31 位存储器仅与 CICS DSA 相关,在任何情况下,界线以下存储器的 DSA 都是预先分配的存储区。

GDSA 不会预先分配保证存储量。 GDSA 包含以下动态存储区:
GCDSA (高于条形 CICS DSA)
64 位 (高于界线) 存储器中所有 CICS密钥任务生存期存储器的存储区域,以及使用 64 位存储器的 CICS 设施的存储区域。 请参阅使用 64 位存储器的 CICS 设施。 GCDSA 始终从 CICS密钥存储器分配。
GUDSA (高于条形的用户 DSA)
64 位 (高于界线) 存储器中所有用户密钥任务生存期存储器的存储区域。 如果为 CICS 区域指定系统初始化参数 STGPROT = YES (缺省值) ,那么将从用户密钥存储器分配 GUDSA。 如果指定 STGPROT = NO ,那么将从 CICS键存储器分配 GUDSA。
GSDSA (高于界线的共享 DSA)
程序通过发出 EXEC CICS GETMAIN64 命令以使用 SHARED 选项获取 64 位存储器而获取的任何存储器的存储区域。 如果为 CICS 区域 (缺省值) 指定系统初始化参数 STGPROT = YES ,那么将从用户密钥存储器分配 GSDSA。 如果指定 STGPROT = NO ,那么将从 CICS键存储器分配 GSDSA。

为 GDSA 分配存储器时, CICS 会分配 "扩展数据块"。 GDSA 的扩展数据块大小为 1 GB。 当 CICS 需要针对其某个 GDSA (GCDSA , GUDSA 或 GSDSA) 的存储器时,需要从 MEMLIMIT提供 1 GB 的连续存储器; 否则,将发生存储空间不足的情况,并且 CICS 会发出消息 DFHSM0606The amount of MVS above the bar storage available to CICS is critically low.

请务必确保指定足够大的 MEMLIMIT 以满足 GDSA 和其他 64 位存储器需求。 要估算 CICS 区域的良好 MEMLIMIT 值,您应该为使用 CICS 区域中使用的 64 位存储器的设施添加存储器需求。 有关更多信息,请参阅 估算,检查和设置 MEMLIMIT

提示: MEMLIMIT 可以大于 8G。 如果您正在使用 JVM 服务器 (这些服务器使用更多的 64 位存储器) 运行,请考虑指定范围为 10 -15G甚至更多的 MEMLIMIT 值。