08.システム管理
SMF(System Management Facilities)
MVSの運用においてシステムとジョブに関連するさまざまな情報を収集する機能です。VOS3ではSMSと呼ばれます。システムの運用担当部門は直接のオペレーション業務だけでなく、システムの状況を正しく把握・分析して、より最適なシステムになるよう改良し、ジョブの特性に合わせた運用を行う必要があります。またシステムの利用者に、使用した資源に応じた課金を行うこともあります。これらの仕事をシステム側から支援するのがSMFです。 SMFが収集したデータは、SMFデータセットに書き込まれます。データセットに書き込まれるデータをSMFレコードと呼びます。通常SMFデータセットは複数個用意され、1つのデータセットが一杯になると残りの予備データセットに切り替わります。 SMFはジョブ運用の観点からの情報が中心ですが、システムのチューニングに直結する情報はRMFによって収集されます。MSPではPDL/PDA、VOS3ではSAR/D/ESが相当する機能です。RMFは必要に応じて起動され、システム全体またはジョブ空間毎の、CPU使用量、メモリー使用量、ページング状況、チャネルやデバイスの使用率(BUSY度)やパフォーマンス、資源の競合など、さまざまなシステム資源の活動状況を記録しレポートとして出力します。RMFレポートを分析することによって、パフォーマンスの阻害要因や資源を独占しているジョブを見つけ出すことができます。 SRMはMVSシステムのパフォーマンス制御を行う機能です。主としてCPU、メモリー(実記憶)、I/Oの3つの資源を、システム内の各ジョブに適切に配分して、各プログラムの応答性を保ちつつ、資源の使用効率を高め全体のスループットを向上させる役割を持ちます。MSPではSDM(System Decision Manager)、VOS3ではRCM(Resource Centralized Manager)と呼ばれ、細かな制御方法に違いはありますがSRM同等の機能です。 SRMの目標は大きく2つです。 しかしこの2つは相反する関係にあります。 1つのジョブを優先すれば他は動けず資源に遊びが生まれ、すべてを平等に扱えば資源を取り合い競合するのでみんなで遅くなります。そこでSRMはお互いに大きな支障にならない程度にバランス良く対処する「妥協点」を見いだします。元々はオペレーターの作業分野ですが、この種の作業は「勘と経験」を頼りにした高度な技能を必要とします。SRMはこれをOS自身で肩代わりするものです。 SRMでは管理の対象を以下のように分けます。 MVSではユーザーの仕事の単位はジョブですが、SRMではこれを「トランザクション」と呼びます。バッチやSTCタスクではジョブ、TSOでは1回のコマンド入力がトランザクションに対応します。IMSやCICSなどオンライン・リアルタイム処理を行うシステムでは、ジョブ全体のサービス制御に加えて、DCシステムのトランザクションをSRMのトランザクションに対応させることもできます。 ワークロードマネージャーは一定の周期で個々のトランザクションが受けているサービス量の配分状況を調べて、サービス率を監視します。CPUのサービス量は単純な使用時間の積み上げではありません。CPUは機種によって能力が変るので、例えばプログラムが命令を百万回連続して実行しても、CPUモデルAとCPUモデルBでは実行に要する実時間は変ってきます。プログラムが要求するのは百万個の命令を処理できるCPUのサービスであって、○○秒間CPUを使うことではありません。そこでWLMはCPUの使用時間を機種毎の定数で性能差を補正(時間÷モデル別定数)したものをサービス量としています。こうすることで機種が変っても同じサービス配分になるように調整されるわけです。 SRMはWLMの勧告に基づき具体的な資源の配分調整を行います。 スワッピングは空間(ジョブ)の多重度を調整するために行われます。サービス率が上昇したジョブのスワップ・イン優先度を下げ、低下したジョブの優先度を上げます。ジョブはサービス率が上昇したまま資源を使い続けるとスワップ・アウトされやすくなります。スワップアウトはジョブが使用している実記憶上のメモリーページをまとめて補助記憶へ書き出す処理です。スワップアウトされたジョブは実行が中断されてスワップイン待ちの状態になります。また長時間の待ち状態が発生したジョブもスワップアウトされます。例えばコンソールにメッセージを出してオペレーターの応答を待っているプログラムです。TSOユーザー空間も端末からの入力待ち状態ではスワップアウトされています。人間が応答するまでしばらく実行されないのに実メモリーを占有していては資源の無駄だからです。 リザーブされたDASDや排他使用中のデータセットの使用待ちジョブがある時、SRMは排他使用中の資源を持っている方のジョブを優先的にスワップ・インします。排他使用中の資源を持ったままスワップアウトしてしまったら、その資源を待っている他のジョブも引きずられてしまいます。 他の実行可能な空間があれば優先順位に従いCPUディスパッチを切り替えます。CPUディスパッチャーはタスク管理の機能ですが、優先度の判断や調整はSRMが行います。 補助記憶装置の空き容量が一定の割合を下回ると、新しいアドレス空間の生成を停止します。(TSOへのログオン、STCタスクの起動が抑止される) 一時的データセットなどを割り振るときに、特定のボリュームに偏らないよう、利用可能ボリュームを平等に使うことを試みます。 SRMの活動状況をレポートするのがRMFになります。オペレーターやシステム管理者はRMFのレポートに基づきSRMのパラメーターやWLMのポリシーを調整します。これがMVSのシステム・チューニング作業です。
SMFは主にジョブ及びジョブ・ステップ単位のスケジューリングに関する情報、課金情報、システム資源の利用状況、どのようなデータセットが利用されたかなどの情報も収集されます。
RMF(Resource Measurement Facility)
しかしながらこれを正確に行うには、MVSも含めメインフレーム・システム全般に関する十分な知識と経験が必要で、運用部門の業務の中でも難易度の高い部類に入ります。
SRM(System Resources Manager)
WLM(Workload Manager)
オンラインシステムのサーバープログラムなどレスポンスに直結するジョブはスワップ禁止と言う特別なモードを与えられたりします。
このような状態が「AUXILIARY STORAGE SHORTAGE」です。すでに起動済みのジョブは継続して動きますが、ページイン・スワップインできないジョブが増えるためシステム全体の反応は鈍くなります。SRMは補助記憶不足によるシステムダウンを防止するための制御は行いますが、自然回復しなければオペレーターが必要な処置を取ることになります。例えばメモリーを大量に使っているジョブを終了させる、ページデータセットを追加するなどです。