以前我曾介绍过IBM的CPU测量装置(CPU-MF),它是随z10大型机引入的一项新技术,本文将介绍如何使用硬件测试设备服务(hardware instrumentation services,HIS)获得CPU测量装置的输出内容。(《如何使用z10的CPU测量装置?》) 硬件测试设备任务 CPU-MF通过HIS启动任务的,任务必须在你想获得统计数据的LPAR上执行,HIS将硬件测试数据记录到Unix系统服务(Unix System Services,USS)文件和SMF类型113记录。 注意HIS启动后不会自动记录数据,相反,你必须为下面这些操作使用一系列命令: 指定要收集的数据……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
以前我曾介绍过IBM的CPU测量装置(CPU-MF),它是随z10大型机引入的一项新技术,本文将介绍如何使用硬件测试设备服务(hardware instrumentation services,HIS)获得CPU测量装置的输出内容。(《如何使用z10的CPU测量装置?》)
硬件测试设备任务
CPU-MF通过HIS启动任务的,任务必须在你想获得统计数据的LPAR上执行,HIS将硬件测试数据记录到Unix系统服务(Unix System Services,USS)文件和SMF类型113记录。
注意HIS启动后不会自动记录数据,相反,你必须为下面这些操作使用一系列命令:
- 指定要收集的数据类型;
- 停止和启动数据收集;
- 为输出文件指定USS路径;
- 选择要收集的计数器集;
- 设置采样频率。
此外,你可能要指定一个DD卡指向包含HIS命令的数据集。
HIS输出文件
HIS要写三种类型的USS文件,它们都遵循SYSHISyyyymmdd.hhmmss.xxx.type这样的命名约定,这里的yyyymmdd表示日期,hhmmss表示时间,xxx是一个递增的序列号,在收集期间状态每变化一次,它就增加1,type表示文件类型,可以是CNT,MAP或SMP,下面会有解释,注意SMP(抽样报告文件),在文件末端有一个额外的节点,表示HIS记录的数据对应的逻辑处理器数量。
在z/OS MVS系统命令帮助手册中,这些报告的解释有点难以让人相信。
1、计数器集数据文件(Counter Set Data File,CNT)
这个文件列出了HIS收集的计数器集,对于每个计数器集,每个计数器都有一个标识符,以及记录间隔的开始时间和结束时间,实际的双字计数器值是按十六进制计算的,每个逻辑处理器一组。
有点难以解释这个报告中的数据,因为你要么必须有一个十六进制计算器,要么将值复制到电子表格中,无论如何,报告中计数器集和计数器的ID是很重要的,特别是在解释SMF类型113记录时。
2、加载模块映射文件(Load Module Mapping File,MAP)
MAP文件列出了系统加载程序的虚拟地址,这些地址可以用来交叉引用SMP,将指令地址匹配到模块。除了加载模块外,报告还列出了重要的虚拟存储边界,如CSA和核心区域,加载模块报告本身是不易阅读的,但它的固定格式很容易通过后处理程序解释,如Rexx程序,报告包括了模块加载需要的库,因此HIS必须被授权读取采样地址空间中的任何STEPLIB和JOBLIB数据集。
HIS依赖系统加载模块意味着MAP文件对自己进行管理的子系统是不完整的,如CICS。
3、抽样报告文件(Sampling report files ,SMP)
HIS为每个逻辑处理器产生一个SMP文件,它是一个二进制文件,直接打开阅读是不可取的,此外,IBM还警告这个文件可能会变得非常大,用户应确保有足够的空闲存储空间容纳它。
它里面存有两种类型的项目:基本的和诊断的,如果开启诊断抽样,默认是包括基本项目的,长度为32字节,包含许多详细的程序状态字(PSW)信息,它包括指令地址,32字节数据块的真实格式请参考命令手册,注意要转换为系统代码可能会有点麻烦,用户必须知道地址空间和问题状态标志。
诊断项目是依赖于模型的,必须通过服务元素启用,IBM对这些类型的项目解释得不多,我的理解是“不要在家里尝试”。
113型记录
HIS以SMF间隔(SMFINTVL)或每15分钟将计数器信息写入SMF类型113记录,注意这里有一个记录亚型2。
SMF头是标准的东西,最重要的是,头信息包含跟在后面的数据段的偏移,长度和数量,在LPAR中,每个逻辑处理器都对应有一个数据段或亚型2记录。
每个数据段开头部分都是处理器数量和类型标识符,以及它的计数器,序列标签表示HIS记录的数据是在开头,中间还是末尾,其它还包含计数器版本号,如果你在Sysplex中混合了多个处理器型号,这个字段就很重要。最后,还有三个描述大小的字段:数量,计数器集的偏移和计数器部分。
计数器集部分描述了相应计数器部分中的计数器,重要的字段包括计数器集ID和一个位模式,它指出包括哪个计数器。
最后,计数器部分包括8字节计数器本身的数组,这些计数器没有识别信息连接到它们,使得CNT报告的价值是无法衡量的。