tpf文件
IBM®z / Transaction Processing Facility(z / TPF),企业版V1.1,是一种高性能操作系统,专门设计用于大批量,实时事务处理。 z / TPF在IBM z Systems™企业服务器上运行。
入口控制块(ECB)资源监视器是z / TPF上的集中式工具,用于收集和监视每个ECB使用的各种系统资源。 命名限制集(LSET)是分配给ECB的监视限制的集合。 本文介绍了如何作为一个实体来监视和控制多个ECB的资源。
设置资源使用限制可能会阻止工作流中的一系列ECB使用所有可用的z / TPF资源。 按LSET和ECB所有者名称显示资源使用情况的报告是确定ECB正确资源限制的有用工具。 这两个功能都可以帮助您更好地了解应用程序对z / TPF系统的影响,并主动避免由于系统资源耗尽而发生的灾难性事件。
在阅读本文之前,请熟悉与以下APAR相关的IBM知识中心主题,这些知识可作为z / TPF的产品更新12(PUT12)的一部分获得:
- APAR PJ42754。 监视和控制多个ECB作为单个实体的资源并生成按LSET分类的使用情况报告的能力。
- APAR PI44439。 在使用情况报告中包含有关z / TPF和z / TPF数据库工具资源的信息。
请参阅相关的话题 ,这些话题。 有关ECB资源监视器中命名限制集的介绍,请阅读Gabriel Nieves 撰写的developerWorks文章z / TPF上的ECB资源监视器PUT10增强功能 。
配置LSET以监视一组ECB
z / TPF的产品更新12(PUT12)引入了一项新功能,称为组ECB资源监视 。 此功能从关联的ECB组收集和监视资源使用情况。 这些关联的组称为组ECB资源监视集 (或组集)。 组集由ECB进行组织,这些ECB从共同的工作流中继承相同的LSET。 子ECB通过使用大多数create
宏和API来继承其父ECB的LSET。 如果父ECB尚未在现有组集中,则子ECB和父ECB都将添加到新组中。 ECB仍然是组集的一部分,并且如果ECB保留相同的LSET,则会将自己的子ECB添加到该组集中。
要开始对组集进行资源监视,必须首先创建,配置和启用LSET。 单个ECB LSET和组ECB LSET是命名限制集的两种类型。 单个ECB LSET用于单个ECB资源监视。 组ECB LSETS用于组ECB资源监视。 在资源限制表的所有副本中,组ECB LSET被链接到同名的单个ECB LSET。 如图1所示, ZECBM CREATE LSETNAME
命令创建一个单个ECB LSET,并将组ECB LSET命名为MYGLSET1。
图1.创建一个组ECB LSET
ZECBM ON GROUP LSETNAME
命令打开对组ECB LSET的资源监视。 最初应用于所有新创建的ECB的系统默认LSET(名为DEFAULT)不能用于组ECB资源监视。 此限制可防止所有不继承不同LSET的ECB最初参与组ECB资源监视。 也就是说,如果为ECB分配了默认的LSET,则z / TPF不会将ECB作为一个组进行监视。
组ECB LSET的大多数命令与单个ECB LSET的命令相同。 您可以在许多ZECBM
命令中使用GROUP参数来修改组ECB LSET。 例如, ZECBM SET LIMIT GROUP
命令更改组ECB LSET的资源限制。 在图2中,资源FIND的第一个限制设置为500000个请求。 该限制适用于使用MYGLSET1作为其组ECB LSET创建的任何组集。
图2.修改并显示组ECB LSET
即使创建组ECB LSET需要单个ECB LSET,也无需为单个ECB LSET建立任何资源限制即可启用组ECB监视。 ZECBM SET ACTION
命令配置系统默认操作和单个资源操作。 这些操作会影响单个和组ECB LSET。
激活组ECB资源监视
创建组ECB LSET并将其启用以用于组ECB资源监视之后,可以创建组集。 这些步骤是:
- 使用
ECBMC
宏或tpf_ecbmc_set_lsetname
函数将LSET分配给ECB。 - 创建从父ECB继承LSET的子ECB。 大多数
create
宏,例如CREMC
和SWISC TYPE=CREATE
,以及它们的C API等效项,都会导致子ECB继承父ECB的LSET。 唯一的例外是CRETC
和CXFRC
宏。 这些宏运行一个例程,该例程独立于调用的ECB创建新的ECB。 其他ECB创建例程会检查LSET是否符合组监视的条件。
完成这些步骤后,子ECB将加入父ECB的组集(如果存在),或者为两个ECB创建一个新的组集。 只要将来的所有子ECB继承相同的LSET,它们也将加入其父ECB的组集中。 清单1显示了一个程序,该程序为其ECB分配了一个新的LSET名称,并使用CREMC
宏创建了一个新的子ECB来进入程序QZZ6。
清单1.创建一个从其父ECB继承LSET的子ECB
int rc;
char mylsetname[9] = "MYGLSET1";
rc = tpf_ecbmc_set_lsetname(mylsetname);
if(rc == 0)
{
cremc(0, NULL, QZZ6);
}
else
{
printf("tpf_ecbmc_set_lsetname(%s) failed", mylsetname);
}
…
每个组集分配有一个用于资源监视的控制块。 控制块中最重要的表是组资源计数表(RCT)和组资源限制表(RLT)。 这些表类似于用于监视单个ECB的RCT和RLT。 创建组集时,将复制父ECB的RCT并将其用作组RCT的初始资源计数。 ECB LSET组中的限值将复制到RLT组中。 您对组ECB LSET中的限值所做的任何修改都不会影响现有的组集。 仅在禁用组ECB LSET的资源监视时,现有的组才会受到相应的组ECB LSET的影响。
存在组集时,将继续对组集进行资源监视。 当一个组集不再包含任何ECB时,它将被自动删除。
ECB以下列任何一种方式离开组集:
- 如果您更改ECB的命名限制集。
- 如果通过使用
ECBMC
宏或tpf_ecbmc_set
函数将ECB设置为接收无限资源。 - 如果应用程序释放了ECB。
- 如果z / TPF系统强制ECB退出。
ECB资源监控器首先触发来自单个ECB资源监控的资源操作,然后触发来自组ECB资源监控的资源操作。 在第一个ECB上触发资源操作,该操作导致组集超出其资源限制。 图3显示了当ECB导致其组设置超过其对系统资源FILE的第二个限制时发生的CTL-64013错误。
图3.超出组集的资源限制

在组ECB资源监视中,资源操作DMPE
导致第一个ECB产生系统错误并退出; 组集中检索相同资源的所有后续ECB被强制退出而不会出现系统错误。 MSG
和DMPR
资源操作仅由第一个ECB触发一次; 随后的ECB可以继续检索相同的资源。
通过LSET收集资源使用情况
要通过LSET生成使用情况报告,请输入ZECBM COLLECT START
命令,并使用TIME参数以分钟为单位指定时间段。 如果指定非零时间值,则收集时间段在发出命令时开始,在该时间段结束后结束。 如果将时间值指定为零,则收集时间是从上一次初始程序加载(IPL)到发出命令的时间。 在图4中, ZECBM
命令开始收集数据,继续收集1分钟,然后将使用情况数据写入逗号分隔值(csv)文件。
图4.创建命名的限制集使用情况报告
由于报表是以csv格式组织的,因此可以将它们导入到任何关系数据库或电子表格应用程序中,以便与以前生成的报表进行比较。
该报告显示有关指定时间段内每个LSET的信息。 它分别列出了单个ECB LSET和组ECB LSET的数据。 对于每个LSET,该报告列出了资源总量,高水位线以及大量资源的高水位线的时间戳。 收集的资源并不专用于ECB资源监视器使用的资源。 该报告还显示z / TPF数据库设施的使用情况数据,系统详细信息以及有关LSET使用情况的统计信息(清单5)。 请参阅下载以获取样本资源使用情况报告。
图5.命名限制集使用情况报告的示例
结论
本教程描述了如何监视和限制z / TPF中单个ECB和ECB组所使用的资源。 您了解了用于配置组ECB LSET,激活组ECB资源监视以及创建资源使用情况报告的命令。
翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/1604_nieves-trs/1604_nieves.html
tpf文件