4.3.5 スケジューラーサービスの多重起動について検討する
スケジューラーサービスとは,マネージャーホストのJP1/AJS3サービスに含まれる,ルートジョブグループを管理する制御単位です。最上位のジョブグループとして,JP1/AJS3に必ず定義されていて,ルートジョブグループ名を「/(スラント)」で表します。
スケジューラーサービスを多重起動させた場合の動作イメージを次の図に示します。
|
スケジューラーサービスを多重起動させると,ルートジョブグループをスケジューラーサービスごとに管理できるようになります。1個のスケジューラーサービスで,4,000個以上のジョブネットやジョブを管理(定義,実行登録,監視)するには,資源に限界があります。そのため,CPUを多数搭載するようなシステムの場合には,スケジューラーサービスの多重起動について事前に検討してください。
例えば,スケジューラーサービスを業務ごとに分割して,多重起動する運用にします。多重起動にすることで,スケジューラーサービスごとにCPU資源を有効利用でき,それぞれのスケジューラーサービスがほかのスケジューラーサービスの影響を受けることなく,独立した業務(ジョブネットおよびジョブ)の並行実行ができます。また,新たな運用テストなどができます。
また,実行登録するジョブネットの数が多い場合にも,処理性能を考えて4,000個を目安にジョブネットを分割し,スケジューラーサービスを多重起動する運用を検討してください。
なお,業務単位にジョブネットを分割することで,1ジョブネット当たりの規模も小さくできます。
スケジューラーサービスは,1台のマシンにつき物理ホストと論理ホストを合わせて20個まで多重起動にすることができます。しかし,システムの環境によって,ある数以上のスケジューラーサービスの多重起動を設定すると,スケジューラーサービスが起動できなくなることがあります。
スケジューラーサービスを多重起動させる場合は,一つの論理ホストの環境設定中に,複数のスケジューラーサービスの環境設定をします。スケジューラーサービスの多重起動の設定方法については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド1 6.1.1 スケジューラーサービスの多重起動の設定」(Windowsの場合)またはマニュアル「JP1/Automatic Job Management System 3 構築ガイド1 15.1.1 スケジューラーサービスの多重起動の設定」(UNIXの場合)を参照してください。
スケジューラーサービスを一つずつ起動または停止するには,jajs_spmdコマンドまたはjajs_spmd_stopコマンドに,-n jajs_schdオプションを指定して実行します。jajs_spmdコマンドまたはjajs_spmd_stopコマンドは,JP1/AJS3サービスを起動したままの状態で実行できます。詳細については,マニュアル「JP1/Automatic Job Management System 3 運用ガイド 8.5 スケジューラーサービスだけを起動・停止する」を参照してください。
(1) Windowsホストで多数のスケジューラーサービスを多重起動する場合
システムの環境によって,ある数以上のスケジューラーサービスを多重起動したときにエラーとなることがあります。その際,「アプリケーションを正しく初期化できませんでした。」というエラーメッセージが出力されます。
これはシステムのリソース(デスクトップヒープ領域)が不足した場合に発生します。
JP1/AJS3ではスケジューラーサービスごとに多数の制御プロセスを起動するため,スケジューラーサービスを多重起動にすると,起動したスケジューラーサービスの分デスクトップヒープ領域を使用します。このため,デスクトップヒープ領域が不足する場合があります。このような場合,次に示す方法で対処してください。
(a) JP1/AJS3専用のデスクトップヒープ領域を使用する
JP1/AJS3専用のデスクトップヒープ領域を使用するために,JP1/AJS3サービスのアカウントをユーザーアカウントに変更します。JP1/AJS3サービスのアカウントはシステムアカウントがデフォルトになっています。
設定の詳細については,「4.2.3(1) JP1/AJS3が提供するサービスのアカウントの変更について」を参照してください。
(b) レジストリーを編集してデスクトップヒープサイズを調整する
Windowsのレジストリー情報を編集してデスクトップヒープのサイズを調整してください。レジストリー編集方法については,Microsoftのホームページのデスクトップヒープ関連のサポート技術情報にある記事を参照してください。デスクトップヒープ領域の使用量は,使用している環境に依存します。また,変更した場合はシステム全体に影響を与えるため,十分な検証を行った上で適用してください。
(2) UNIXホストで多数のスケジューラーサービスを多重起動する場合
多重起動するスケジューラーサービス数を増やすと,その増加数に従ってシステム資源を消費します。多重起動するスケジューラーサービス数に見合ったシステム資源が確保できていない場合,スケジューラーサービスを多重起動したときにエラーとなることがあります。「3. 見積もり」を参考に,メモリー所要量,ディスク占有量,およびカーネルパラメーターなどのシステム資源の値を十分見積もった上で,スケジューラーサービスの多重起動を設定してください。