□ smf99e smf99eはSMF-99レコードを編集するプログラムです。ワークロードマネージャ(以降WLMと呼ぶ)は実 行した作業に関する詳細情報をSMF-99に書き出し、その分析方法はマニュアル等で詳しく解説されて いますが、SMF-99をレポートする機能は提供されていない様です。そこでSMF-99をレポートするプロ グラムを作成しました。 ○ 現在対応しているレコードタイプは以下の通りです。 1.サブタイプ1 アクショントレース 2.サブタイプ2 サービスクラスデータ 3.サブタイプ3 サービスクラス期間 プロットデータ ○ SMF-99に関する詳しい説明は以下のマニュアル及びWebにあります。 “OS/390 R1 MVS PROG: ワークロード管理サービス” (第7章 SMF レコード・タイプ 99 の使用) “Shortcut to WLM Performance Studies CONTENTS via IBM BookManager BookServer” (http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/SG244352/3.3) ○ SMF-99のレコードレイアウトは以下のマニュアルに記載されています。 “OS/390 V1.2 MVS システム管理機能(SMF)” (レコード・タイプ 99 - システム資源プログラムの決定) ○ 追跡テーブルレポートのアクションコードの詳細は以下のマニュアルに記載されています。 “OS/390 R1 MVS PROG: ワークロード管理サービス” (付録A. SMF タイプ 99 アクション・コード) □ Program Text File Name Host File Name Main Program : smf99_102.txt your.source(@SMF99#1) Subroutine : os_6hc.txt your.source(@OS#6HC) Action Code Table : smf99_t.txt your.maclib(@SMF99#T) (Optional) Japanese Convert : t991trcjc.txt your.clist(@WLMTRC) Trace Data : trcdata.txt WLM.TRACE.DATA □ Install 1. Sourceから各ファイルをDownloadし、上記のHost File Nameにファイル転送する。 2. @os_6hc(16進変換Subroutine)をDownload,Assembleし、objlibに入れる。 3. JCLの必要個所を変更しAssemble&Linkする □ 実行方法 SMF-99レコードを入力とする以下の様なJCLを実行します。 //jobname JOB CLASS=x,MSGCLASS=x,・・・・ //* -------------------------------------------------- //DEL EXEC PGM=IEFBR14 //DD1 DD DSN=SMFEDIT.T991TRC,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //DD2 DD DSN=SMFEDIT.T992SCP,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //DD3 DD DSN=SMFEDIT.T993PLT,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //* -------------------------------------------------- //STEP1 EXEC PGM=UFASMFDP //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //INDD DD DSN=SYS1.MANx,DISP=SHR //OUTDD DD DSN=&&DUMPOUT,DISP=(,PASS), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(50,50),RLSE) //SYSIN DD * SID(sysid) START(hhmm) END(hhmm) INDD(INDD,OPTIONS(DUMP)) OUTDD(OUTDD,TYPE(99)) //* -------------------------------------------------- //REPORT EXEC PGM=@SE99#01 //STEPCAT DD DSN=user-catalog,DISP=SHR //STEPLIB DD DISP=SHR,UNIT=SYSDA, // DSN=load.module //INDD DD DSN=&&DUMPOUT,DISP=OLD //T991TRC DD DSN=SMFEDIT.T991TRC,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=156,BLKSIZE=15600) //T992SCP DD DSN=SMFEDIT.T992SCP,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=256,BLKSIZE=25600) //T993PLT DD DSN=SMFEDIT.T993PLT,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=156,BLKSIZE=15600) (Optional) //* -------------------------------------------------- //JCONV EXEC PGM=IKJEFT01,TIME=1440,REGION=20M, // PARM='%@WLMTRC' //SYSPROC DD DSN=your.clist,DISP=SHR //SYSTSPRT DD SYSOUT=* //INF DD DSN=SMFEDIT.T991TRC,DISP=SHR //TBL DD DSN=WLM.TRACE.DATA,DISP=SHR //OUT DD DSN=SMFEDIT.T991TRC.J,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=VB,LRECL=1024,BLKSIZE=10244) //SYSTSIN DD DUMMY □ 結果リストの説明 ------------------------------------------------------------------------ ○ DD名:t991trc(Action Trace:SMF 99-Subtype 1 追跡テーブルレポート) ------------------------------------------------------------------------ YY/DDD :(SMF99DTE) SMFレコードが書き込まれた日付(Julian Date) HH:MM:SS:(SMF99TME) SMFレコードが書き込まれた時間(時:分:秒) TRGN :(SMF99_TRGN) 資源グループ名(サービスクラスが資源グループに割り当てられていない場合、空白) TCNM :(SMF99_TCNM) 設定したサービスクラス名、又は内部サービスクラス識別 内部サービスクラス識別には以下の種類がある $SRMDInn : $SRMDI00 : Descretionary指定を行っているサービスクラス $SRMDISC : サービスクラスに割り当てられていない作業 $SRMSnnn : サーバーサービスクラス $SRMDUMP : SDUMP $SRMBEST : SYSTEMサービスクラス $SRMGOOD : SYSSTCサービスクラス P :(SMF99_TPER) サービスクラス期間番号(Period) JOBNAME :(SMF99_TJOB) 影響を受けるアドレス空間の名前(追跡コードが特定のアドレス空間に特定される場合のみ) TSPI :(SMF99_TSPI / 100) サービスクラスのシスプレックス パフォーマンス インデックス TLPI :(SMF99_TLPI / 100) サービスクラスのローカル パフォーマンス インデックス TGSR :(SMF99_TGSR) 計画された資源グループサービス率 TRID :(SMF99_TRID) 資源調整間隔識別子 TCOD :(SMF99_TCOD) アクション コード ACTION : アクション 簡略記号 ------------------------------------------------------------------------ ○ DD名:t992scp(Service Class Period:SMF 99-Subtype 2 サービスクラス期間データ) ------------------------------------------------------------------------ YY/DDD :(SMF99DTE) SMFレコードが書き込まれた日付(Julian Date) HH:MM:SS:(SMF99TME) SMFレコードが書き込まれた時間(時:分:秒) CLASS :(SMF99_PCNM) サービスクラス名 P :(SMF99_PNUM) サービスクラス期間番号(Period) I :(SMF99_PIMPOR) 重要度(Importance) N :(SMF99_PNH) プロセッサー遅延を経験した場合“Y”、経験していない場合“N” SC :(SMF99_PCDCLOCK) スキップ クロック(ポリシー調整 カウントダウン クロック)。“0”又はそれ以下になるま で、ポリシー処置は取られない。 GT :(SMF99_PGOALTYP) ゴールタイプ SYS:SYSSTC又はサーバー SRT:20秒以下のレスポンス目標 LRT:20秒以上のレスポンス目標 VEL:速度目標 DES:任意(Descretionary) SPI :(SMF99_PSPI) シスプレックス パフォーマンス インデックス LPI :(SMF99_PLPI) ローカル パフォーマンス インデックス DP :(SMF99_PBDP) ディスパッチ プライオリティー(16進、及び10進表記) SERV :(SMF99_PSERV) ポリシー調整期間中に累積したサービス MDP :(SMF99_PMDP) 要求されたプロセッサー時間の最大パーセンテージ MPLI :(SMF99_PMPLI) MPL In MPLO :(SMF99_PMPLO) MPL Out SWAPT :(SMF99_PSWPT) スワップされたアドレス空間がCS内で保護されている時間(GTがSRTの場合のみ有効) PSI :(SMF99_PPSITAR) 保護主記憶装置ターゲット(GTがSRTの場合のみ有効) CPUD :(SMF99_PCPUD) CPU遅延サンプル数 AUXP :(SMF99_PAUXP) 補助記憶装置からの1次私用記憶域ページングの遅延サンプル数 AUXC :(SMF99_PAUXC) 補助記憶装置からの共通域ページングの遅延サンプル数 VIO :(SMF99_PVIO) 補助記憶装置からVIOの遅延サンプル数 HSS :(SMF99_PHSS) 補助記憶装置からスクロール・ハイパー空間の遅延サンプル数 HSC :(SMF99_PHSC) 補助記憶装置からキャッシュ・ハイパー空間の遅延サンプル数 ASWP :(SMF99_PASWP) 補助記憶装置からのスワップの遅延サンプル数 MPLD :(SMF99_PMPLD) MPL遅延サンプル数 CAPD :(SMF99_PCAPD) CPUキャッピングの遅延サンプル数 XMO :(SMF99_PXMO) 補助記憶装置からの他の仮想記憶間アドレス空間ページングの遅延サンプル数 EXP POL :(SMF99_PESSWAP SMF99_PESPOL SMF99_PESVIO SMF99_PESHSP) (SMF99_PESSWAP SMF99_PPROT/SMF99_PLRU/SMF99_PSPAV SMF99_PVIOL/SMF99_PVIOS SMF99_PSPL/SMF99_PHSPS) 拡張記憶アクセスポリシー(P:保護、L:LRU、S:使用可能) 左から順に以下の順序となっています。 ・スワップ作業セット ・スチールされたページ、およびスワップトリム ・VIOページ ・ハイパー空間ページ ------------------------------------------------------------------------ ○ DD名:t993plt(Plot Report:SMF 99-Subtype 3 プロットデータ) ------------------------------------------------------------------------ YY/DDD :(SMF99DTE) SMFレコードが書き込まれた日付(Julian Date) HH:MM:SS:(SMF99TME) SMFレコードが書き込まれた時間(時:分:秒) CLASS :(SMF99_PNAM) サービスクラス名 P :(SMF99_PPRP_PNUM) サービスクラス期間番号(Period) TYP : プロットタイプ PRP : ページング率プロット MPL : MPL遅延プロット RUA : 作動可能ユーザー平均プロット SWP : スワップ遅延プロット PAS : プロポーショナル総合速度プロット P_BW :(SMF99_PPRP_BW) Xプロットの幅 X :(SMF99_PLOT_XVAL) X軸の値。内容は以下の通り PRP : 秒当たりのページ不在率 MPL : MPLスロットが使用できる作動可能ユーザーの割合 RUA : サービスクラス期間に使用可能なMPLスロットの数(16倍) SWP : 論理スワップされるか、または拡張域にスワップされる平均時間 PAS : フレーム内の平均アドレス空間サイズ Y :(SMF99_PLOT_YVAL) Y軸の値。内容は以下の通り PRP : 秒当たりの補助記憶装置遅延サンプル数 MPL : 完了当たりのMPL遅延 RUA : 作動可能ユーザーの最大数(16倍)、平均が2秒を超えるもの SWP : 完了当たりのスワップ遅延時間 PAS : Periodからの逸脱あたりのページ不在率(1/10) PLT :(SMF99_PPRP_LSTX) プロットされた場所を“CCC”で示す □ Bug Fix 1998.08.11:Version 1.0.1 T992SCP Report MPLI,MPLOを2バイトフィールドを4バイトで処理していた。 T992SCP Report SCが不正 1998.08.15:Version 1.0.2 T992SCP Report DP(十進表記)追加