z/OS 3.1 JES2では、システム全体に悪影響を及ぼすようなクリティカルな資源不足(枯渇)を回避するため、「TG」(スプール・スペース: Track Group)、「JOE」(出力グループ: Job Output Element)資源それぞれの使用量をジョブ単位に監視し、さらに、上限(LIMIT)に到達した際の対処方法(ACTION)が指定可能になりました。(「Job Resource Limits」新機能)
#121【z/OS 3.1変更点】 JES2資源(TG/JOE)の消費量をジョブ単位で監視・制限(省略時活動化) https://community.ibm.com/community/user/blogs/shigeki-kimura1/2024/02/12/sharing-zos-upgrade-info-by-professor-kimura-121j
※JES2PARMのJOBCLASSステートメントにて、ジョブ・クラス毎のLIMIT/ACTIONパラメータを指定($TJOBCLASSコマンドによる変更可能)
・RESOURCE(TG)=(LIMIT=n|DEFAULT,ACTION=NONE|WAIT|FAIL|DEFAULT)
・RESOURCE(JOE)=(LIMIT=n|DEFAULT,ACTION=NONE|WAIT|FAIL|DEFAULT)
※JES2ポリシー(タイプ: JobCreate/JobInput/PreConversion/JobConversion)を使用して、個別ジョブのLIMIT/ACTIONを指定可能(ジョブ・クラス指定値をオーバーライド)
(TG資源) TGResLimit、TGResAction属性
(JOE資源) JOEResLimit、JOEResAction属性
また、TG/JOE資源それぞれの使用量が上限(LIMIT)の90%/100%に到達した際、次のような新規メッセージを出力します。
・$HASP1807メッセージ ・・・ 単一ジョブで上限(LIMIT)の90%に到達した場合(90%は固定値)
・$HASP1806メッセージ ・・・ 単一ジョブで上限(LIMIT)の100%に到達した場合
※$HASP1806メッセージ出力時の対応方法(ACTION)は、省略時値(DEFAULT)が「WAIT」扱い(対象ジョブは一時的に処理停止)のため、従来挙動(そのまま処理続行)を踏襲するなら、「ACTION=NONE」パラメータ明示指定も要検討
【z/OS 3.1、3.2の新機能】
■z/OS 3.1、3.2 JES2では、ジョブ・グループ単位で特定資源(TG/JQE/JOE/BERT)の使用量に歯止めをかける新機能が、段階的に提供されました。(②Resource Group Limits)
※z/OS 3.1 JES2では、ジョブ単位で特定資源(TG/JOE)の使用量に歯止めをかける新機能を提供(①Job Resource Limits)
■z/OS 3.1、3.2の機能比較
※定義済の「リソース・グループ」向けに個々のジョブをアサインするには、z/OS 3.1、3.2とも、「JobCreate」タイプの「JES2ポリシー」で「ResGroup」属性を使用
(z/OS 3.1) JES2PARM RESGROUP新規ステートメント(あるいは、$ADDRESGROUP新規コマンド)にて「リソース・グループ」を定義し、それ毎に各資源(4種類)の使用状況を監視(メッセージ出力、$DRESGROUPコマンド)
(z/OS 3.2) z/OS 3.1の機能に加え、各資源に対する使用量の上限(LIMIT: 1%~100%)、および、上限を超えた際の対処方法(ACTION: NONE/WAIT/FAIL)を指定
■各資源に対する使用量を監視する際、z/OS 3.2では下表のようなメッセージ出力が行われ、上限を超えた場合には次のような挙動になります。
➀ACTION=NONE: $HASP1805メッセージ出力を伴い、処理続行($HASP1812メッセージは出力なし)
➁ACTION=WAIT: $HASP1805、$HASP1812メッセージ出力を伴い、資源の割り当てを一時停止
③ACTION=FAIL: $HASP1805、$HASP1812メッセージ出力を伴い、例えばABEND722-04で処理失敗
※$HASP1805メッセージ(宛先コード: 2,10)は、「リソース・グループ」の資源不足を検知したメンバーのみ「高輝度」(記述子コード: 2,7)でコンソール表示され(その他メンバーは通常輝度)、$HASP1804メッセージ出力時に削除
■「リソース・グループ」定義のオペレーション例
【z/OS 3.1、3.2の変更点】
■z/OS 3.1、3.2では、JES2PARM RESGROUP新規ステートメント、あるいは、$ADDRESGROUP新規コマンドによる「リソース・グループ」定義の保管スペースを、「RGD」オブジェクト(Resource Group Definition)として、JES2起動時に「チェックポイント」内に確保します。
※JES2の起動方法、MAS構成・単一構成、CF・DASDチェックポイントには依存せず
※「z22」チェックポイント・モード稼働時 ・・・ 「RGD」オブジェクトの作成はオプション扱い(CKPT1/CKPT2両方のスペースに余裕がある場合だけ作成)
※「z32」チェックポイント・モード稼働時 ・・・ 「RGD」オブジェクトの作成は必須扱いに変更
■「RGD」エントリー数は、JES2PARM CKPTSPACEステートメントの「RGDNUM」パラメータで指定され、「リソース・グループ」定義が実際に存在しない場合でも、JES2チェックポイント内に「RGD」オブジェクトの作成が試行されます。
※「RGDNUM」パラメータ指定値の範囲: 16~2000(省略時値: 32)
■「RGD」オブジェクトが首尾よく作成された場合は、何ら特別なメッセージ出力を伴わず、$DCKPTSPACEコマンド実行結果(RGD)に反映されます。
※「リソース・グループ」の追加、削除オペレーションにより、「RGD」エントリー数が増減
【考慮事項】
■CKPT1あるいはCKPT2のスペースに余裕がない場合(「UNUSED」が少ない状況)、チェックポイント容量不足を示すメッセージ($HASP296)、および、「RGD」オブジェクト作成不可を示すメッセージ($HASP1801)出力を伴い、JES2初期設定が続行されます。
※この場合、$DCKPTSPACEコマンド実行結果($HASP852メッセージ)は、「RGD=(RGDNUM=0,RGDFREE=0,RGDNUM_CFG=32)」を表示(省略時解釈の場合)
■上記メッセージ($HASP296+$HASP1801)が出力された場合でも、JES2初期設定には何ら影響を与えないため、「リソース・グループ」新機能の利用予定がない場合は無視して構いません。
※「リソース・グループ」新機能を活用する際の事前準備として、チェックポイント容量の増加が必要
※チェックポイント容量不足の状況によっては、JES2PARM CKPTSPACEステートメントにて「RGDNUM=16」(最小値)を明示指定することで、「RGD」オブジェクトが作成できる可能性あり(メッセージ出力を回避)
■「RGD」オブジェクトが新規作成されると、チェックポイントのスペース使用量が増加するため、次回のJES2 WARMスタート時など、無意識のうちに$HASP537メッセージにて表示される値が変化します。
以上