7.11.2 ジョブの実行優先順位に関する注意事項
JP1/AJS3では,ジョブ(キューレスジョブを含むPCジョブ,UNIXジョブ,HTTP接続ジョブ,JP1/AJS3上で実行するQUEUEジョブ,およびカスタムジョブ)に対して実行優先順位を指定します。また,フレキシブルジョブ,アクションジョブでは,上位ジョブネットに優先順位を設定することで実行優先順位を指定します。
指定できる実行優先順位は[なし],および[1]〜[5]です。ジョブの実行優先順位,およびその上位のジョブネットの優先順位に[なし]が定義されている場合は,環境設定パラメーターDEFAULTPRIORITYに指定された値を仮定します。また,ジョブの実行優先順位,ジョブネットの優先順位に[なし]が定義され,環境設定パラメーターDEFAULTPRIORITYが設定されていない場合,JP1/AJS3から実行するジョブの実行優先順位は,[1]が仮定されます。環境設定パラメーターDEFAULTPRIORITYの詳細については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド 20.4.2(108) DEFAULTPRIORITY」を参照してください。次に示す注意事項を参照し,システム環境や運用に応じてジョブの実行優先順位,およびジョブネットの優先順位を変更する必要がないかどうかを検討してください。
Windows,UNIXそれぞれについて,JP1/AJS3がジョブの実行優先順位に従ってジョブに設定する値の詳細について次に説明します。
- 〈この項の構成〉
(1) ジョブの実行優先順位とJP1/AJS3がジョブに設定する値(UNIXの場合)
UNIXの場合,ジョブの実行優先順位に従ってnice値を設定します。また,ジョブの実行先サービスに[標準]を指定した場合と[キューレス]を指定した場合とで設定の基準が異なります。
(a) ジョブの実行先サービスに[標準]を指定した場合
ジョブの実行先サービスに[標準]を指定した場合,JP1/AJS3から実行するジョブに設定するnice値は,JP1/AJS3のサービスを起動(jajs_spmdコマンドを実行)したときのnice値※が基準となります。ジョブに設定するnice値は,この基準となるnice値と指定した実行優先順位に従って増減して設定します。
- 注※
-
JP1/AJS3サービスを起動したときのnice値は,プロセスを起動したときにOSがデフォルトで設定する値です。また,システムが制限するnice値の最大値,最小値は,OSによって異なります。プロセスを起動したときのデフォルトのnice値やシステムが制限するnice値の最大値,最小値については,各OSのドキュメントやUNIXの参考文献を参照してください。
HP-UXで,JP1/AJS3のサービスを起動したときのデフォルトのnice値が「20」の場合を例に,ジョブの実行先サービスに[標準]を指定した場合のジョブの実行優先順位とジョブに設定するnice値の対応を次の表に示します。
ジョブの 実行優先順位 |
ジョブに設定する nice値 |
JP1/AJS3サービスのnice値を 「20」とした場合 |
---|---|---|
1 |
nice値+20 |
39 |
2 |
nice値+10 |
30 |
3 |
nice値 |
20 |
4 |
nice値-10 |
10 |
5 |
nice値-20 |
0 |
実行優先順位の指定がない場合,ジョブの実行優先順位は環境設定パラメーターDEFAULTPRIORITYで設定された値となり,JP1/AJS3サービスのnice値(デフォルト「20」)に増分値「20」を加算して,「39」のnice値を設定します。これは,システムが制限する範囲(0〜39)を超えてnice値を設定しようとした際に最大値で39,最小値で0に設定値が制限されるためです。
(b) ジョブの実行先サービスに[キューレス]を指定した場合
ジョブの実行先サービスに[キューレス]を指定した場合,JP1/AJS3サービスのnice値は基準となりません。nice値には実行優先順位の低い順から39,30,20,10,0(Linuxの場合は,19,10,0,-10,-20)のどれかが設定されます。nice値を変更する場合は,これらのnice値に対応したジョブの実行優先順位を指定してください。
ジョブの実行先サービスに[キューレス]を指定した場合のジョブの実行優先順位とジョブに設定するnice値の対応を次の表に示します。
ジョブの実行優先順位 |
ジョブに設定するnice値※ |
---|---|
1 |
39 |
2 |
30 |
3 |
20 |
4 |
10 |
5 |
0 |
- 注※
-
Linuxの場合は,システムが制限するnice値の範囲が-20〜19であり,実行優先順位の低い順から19,10,0,-10,-20のどれかが設定されます。
(2) ジョブの実行優先順位とJP1/AJS3がジョブに設定する値(Windowsの場合)
Windowsの場合,ジョブの実行優先順位は3段階で設定します。ジョブの実行優先順位とWindowsの基本優先度の対応を次の表に示します。基本優先度はWindowsタスクマネージャーで参照することができます。
ジョブの実行優先順位 |
ジョブに設定する基本優先度 |
---|---|
1 |
低 |
2 |
|
3 |
通常 |
4 |
高 |
5 |
JP1/AJS3がジョブのプロセスを起動する際に,ジョブの実行優先順位から設定する優先順位クラスについて,次に説明します。
-
実行優先順位が[1]または[2]の場合は,システムがアイドル状態のときに実行されます。対話処理と比較して優先度が低くなります(Windowsで規定されるIDLE_PRIORITY_CLASSを設定します)。
-
実行優先順位が[3]の場合は,一般的なプロセスとして実行されます。対話処理と同等の優先度になります(Windowsで規定されるNORMAL_PRIORITY_CLASSを設定します)。
-
実行優先順位が[4]または[5]の場合は,上記の優先順位クラスを割り当てられたプロセスのスレッドより先に実行されます。対話処理と比較して優先度が高くなります(Windowsで規定されるHIGH_PRIORITY_CLASSを設定します)。
(3) ジョブの実行優先順位の変更方法
JP1/AJS3を経由しないでサービスからプロセスを直接起動した場合,または端末から直接プロセスを起動した場合には,Windowsのときには,基本優先度は「通常」で対話処理の優先順位になります。また,UNIXのときには,nice値は「20」(Linuxの場合は「0」)で実行されます。JP1/AJS3から実行するジョブをこれらのプロセスと同等の実行優先順位で実行するには,ジョブの実行優先順位に「3」を設定する必要があります。ジョブの実行優先順位を「3」に変更する方法について説明します。
(a) キューレスジョブを含むPCジョブ,UNIXジョブ,HTTP接続ジョブ,JP1/AJS3上で実行するQUEUEジョブ,およびカスタムジョブの場合
次に示すどちらかの方法でジョブの実行優先順位を変更できます。
-
各ジョブの[詳細定義−[アイコン名]]ダイアログボックスの[定義]タブの[実行優先順位]に[3]を指定する。
-
各ジョブの[詳細定義−[アイコン名]]ダイアログボックスの[定義]タブの[実行優先順位]には[なし]を指定し,ルートジョブネットなどの上位ジョブネットの[詳細定義−[ジョブネット]]ダイアログボックスの[定義]タブの[優先順位]に[3]を指定する。
(b) フレキシブルジョブ,アクションジョブの場合
次に示す方法でジョブの実行優先順位を変更できます。
-
ルートジョブネットなどの上位ジョブネットの[詳細定義−[ジョブネット]]ダイアログボックスの[定義]タブの[優先順位]に[3]を指定する。
(c) ジョブの実行優先順位および上位ジョブネットの優先順位に[なし]が設定されている場合
次に示す方法で,ジョブの実行優先順位に仮定する値を変更できます。
-
環境設定パラメーターDEFAULTPRIORITYに[3]を設定する。
環境設定パラメーターの設定方法については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド 4.2 環境設定パラメーターの設定」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 3 構築ガイド 14.2 環境設定パラメーターの設定」(UNIXの場合)を参照してください。
-
各ジョブの[詳細定義−[アイコン名]]ダイアログボックスの[定義]タブの[実行優先順位],およびルートジョブネットなどの上位ジョブネットの[詳細定義−[ジョブネット]]ダイアログボックスの[定義]タブの[優先順位]に,[なし]を指定する。
(d) ジョブの実行優先順位を変更するときの注意事項
UNIXの場合,ジョブの実行ユーザーがスーパーユーザー権限を持たないとき,ジョブの実行優先順位に「4」,「5」を指定すると,ジョブの実行時に権限エラーとなるため,注意してください。
また,ジョブの実行優先順位をジョブプロセス以外の他プロセスより高く設定すると,「2.1.4(2) 実行優先順位」に記載している状態とは逆にJP1/AJS3から起動したジョブプロセスがCPUを占有し,他プロセスに影響を与えることも考えられます。ジョブの実行優先順位を他プロセスより高く設定する場合は,システム環境や運用方法を十分考慮した上で設定してください。