调优 z/OS 共享库区域

共享库区域是一个 z/OS® 功能部件,它使地址空间能够共享动态链接库 (DLL) 文件。 此功能使 CICS® 区域能够共享 JVM 所需的 DLL ,而不是每个区域都必须单独装入这些 DLL。 这可以大大减少 MVS™所使用的实存储量以及区域装入文件所花费的时间。

在区域中启动第一个 JVM 时,将在每个 CICS 区域中分配为共享库区域保留的存储器。 分配的存储量由 z/OS中的 SHRLIBRGNSIZE 参数控制,该参数位于 SYS1.PARMLIB。 最小值为 16 MB , z/OS 缺省值为 64 MB。 您可以通过调查所需的空间量来调整为共享库区域分配的存储量,同时记住除 CICS 以外的其他应用程序可能正在使用共享库区域,并相应地调整 SHRLIBRGNSIZE 参数。

如果要减少为共享库区域分配的存储量,请首先检查共享库区域中是否未浪费空间。 在 z/OS 系统上启动正常工作负载,然后发出命令 D OMVS,L 以显示库统计信息。 如果共享库区域中存在未使用的空间,那么可以减少 SHRLIBRGNSIZE 的设置以除去此空间。 如果 CICS 是共享库区域的唯一用户,那么可以将 SHRLIBRGNSIZE 减少到至少 16 MB ,因为 JVM 所需的 DLL 仅使用约 10 MB 的区域。

如果发现正在使用共享库区域中的所有空间,但仍希望减少 CICS 区域中的此存储器分配,那么可以考虑三种可能的操作方法:
  1. 可以将共享库区域大小设置为小于文件所需的存储量。 当共享库区域已满时,文件将改为装入到专用存储器中,并且不会从共享设施中受益。 如果选择此操作过程,那么应确保先重新启动更重要的应用程序,以确保它们能够使用共享库区域。 如果共享库区域中的大部分空间正由非关键应用程序使用,那么此操作过程最为合适。
  2. 放置在共享库区域中的 DLL 是使用扩展属性 + l 标记的 DLL。 您可以从某些文件中除去此属性,以防止这些文件进入共享库区域,从而减少共享库区域所需的存储量。 如果选择此操作过程,请选择不太频繁共享的文件,也请尽量不要选择扩展名为 .so 的文件。 扩展名为 .so 的文件如果未放在共享库区域中,那么将通过用户共享库进行共享,并且此共享设施的效率低于使用共享库区域的效率。 如果没有扩展名 .so 的大文件正在使用共享库区域中的大部分空间,那么此操作过程最为合适。
  3. 如果从与 CICS JVM 相关的所有文件中除去扩展属性 + l ,那么 CICS 区域根本不会使用共享库区域,并且不会在 CICS 区域中为其分配存储器。 如果选择此操作过程,那么不会从共享库区域的共享设施中受益。 如果 z/OS 系统上的其他应用程序需要大型共享库区域,并且您不希望在 CICS 区域中分配此存储量,那么此操作过程最为合适。
如果选择从任何文件中除去扩展属性 + l ,那么当您将这些文件替换为新版本 (例如,在软件升级期间) 时,请记住检查新版本的文件是否没有此属性。