従来、「イニシエーター」アドレス空間にて、ストレージのフラグメンテーション発生などに伴い、「High Private」領域(16MB下)、「Extended High Private」領域(16MB上)が肥大化した場合、後続のバッチ・ジョブ開始時、あるいは途中のステップ開始時など、必要な「REGION」サイズが確保できなくなり、「ABEND822 RSN14」に至る可能性があります。
※「Low Private」領域(16MB下)、あるいは「Extended Low Private」領域(16MB上)の圧迫発生
■仮想記憶域マップ(16MB下の例)
特に連続稼働時間が長い場合など、定期的な「イニシエーター」の落とし上げ(いわゆる「ゴミ掃除」)を通じて、このような事象発生を回避する運用も行われていますが、多数の「イニシエーター」を一斉に停止、起動(JES2管理の場合は、$PI→$SI オペレーション)する際の、システム全体に与えるパフォーマンス上の悪影響が懸念されていました。
【z/OS V1R5の新機能】
■2004年3月出荷開始のz/OS V1R5では、PARMLIB(DIAGxx)メンバーに対して、「VSM CHECKREGIONLOSS(bbb{K|M},aaa{K|M})」パラメータが新規追加されました。(省略時解釈としては、有効になりません)
※指定された閾値(許容範囲)上回る「REGION」ロスが発生した場合、「イニシエーター」の自動再起動を行うことで、後続ジョブでの「ABEND822 RSN14」発生を回避
■「CHECKREGIONLOSS」機能では、「イニシエーター」アドレス空間における、「(Extended) High Private」領域の肥大化に伴い、確保可能な「REGION」サイズ(16MB上下)が減少(ロス)した場合、その減少(ロス)量の許容範囲を16MB上下それぞれ、「K」または「M」単位で指定します。
■「イニシエーター」は、最初のジョブを選択する前に、16MB上下それぞれの「最大REGION」サイズ(初期値)①を確認します。そして、ジョブが終了する都度、その時点における16MB上下それぞれの「最大REGIONサイズ」②を再度確認し、ロスした「REGION」サイズ(①-②: 初期値との比較)を計算します。
■その値が許容範囲(「VSM CHECKREGIONLOSS」パラメータ指定値)を超えている場合は、メッセージ IEF093Iを出力して、「イニシエーター」アドレス空間の「リサイクル処理」(停止、起動)が自動的に行われます。
IEF093I INITIATOR TERMINATED DUE TO REGION LOSS BELOW 16M
IEF093I INITIATOR TERMINATED DUE TO REGION LOSS ABOVE 16M
※自動的な「リサイクル処理」をサポートしないサブシステムの場合は、メッセージ IEF094Aを出力
IEF094A INITIATOR TERMINATED DUE TO REGION LOSS BELOW 16M, RESTART INITIATOR
IEF094A INITIATOR TERMINATED DUE TO REGION LOSS ABOVE 16M, RESTART INITIATOR
■「VSM CHECKREGIONLOSS」パラメータ指定値が小さすぎる場合は、「イニシエーター」の再起動が頻繁に発生し、逆に大きすぎる場合は、「CHECKREGIONLOSS」新機能を利用しない場合と同じく、「イニシエーター」が再起動する前に「ABEND822 RSN14」発生の可能性があります。
【z/OS V2R5の変更点】
■z/OS V2R5では、PARMLIB(DIAGxx)メンバーの「VSM CHECKREGIONLOSS(bbb{K|M},aaa{K|M})」パラメータは、省略時値として「VSM CHECKREGIONLOSS(256K,30M)」が有効になり、常に活動化されるように変わりました。
■従来、PARMLIB(DIAGxx)メンバーのマニュアル解説では、「CHECKREGIONLOSS(256K,10M)」から始めるようなガイドを記載していますが、z/OS V2R5で活動化される省略時値(16MB上)は、「10M」から「30M」に変更されました。
■z/OS V2R5では、「IBM Health Checker for z/OS」に対して、「CHECK(IBMVSM,VSM_CHECKREGIONLOSS)」が新しく追加されました。
【考慮事項】
■z/OS V2R5にて、「VSM CHECKREGIONLOSS(256K,30M)」パラメータを省略時値として活動化したくない場合、例えば「VSM CHECKREGIONLOSS(16M,2046M)」パラメータなど、とても大きな値を「16MB上下」とも明示指定する必要があります。※機能を非活動化するようなパラメータは存在せず
■この場合、例えば「VSM CHECKREGIONLOSS(16M,2047M)」、「VSM CHECKREGIONLOSS(16M,2048M)」パラメータ指定は、いずれも「構文エラー」となり受け付けられません。
※「16MB上」として指定可能な最大値は「2046M」
【関連情報】
■ジョブの稼働実績として、「REGION」使用量(16MB上下)の最大値は、SMFタイプ30レコード(サブタイプ4/5)の「SMF30EUR」フィールド(16MB上)、「SMF30URB」フィールド(16MB下)にて把握することが可能です。
■APAR OA59143/OA62017を通じて、z/OS V2R3、V2R4専用のマイグレーション・ヘルスチェック(IBMVSM,ZOSMIGV2R4_NEXT_VSM_CheckRegionL)が新規提供され、z/OS V2R5の省略時値である「VSM CHECKREGIONLOSS(256K,30M)」パラメータ指定が有効になっているかどうか、検査を行うことが可能になりました。
以上