# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

## 14.6.3 キュー特性の指定

特性とは，環境に関連するプリント・ジョブまたはバッチ・ジョブの属性です。たとえば，プリンタの特性はインクの色，用紙の種類，プリンタの場所などです。キューの特性を定義した後，ユーザは PRINT コマンドまたは SUBMIT コマンドを入力するときに，ジョブに関連付ける特性を指定できます。

ジョブの特性がキューが持っている特性の一部である場合には，プリント・ジョブを実行キューで処理できます。しかし，ジョブに割り当てられた特性がキューに割り当てられていない場合には， 第 14.8.2.2 項 で説明しているように，特性の不一致が修正されるまで，ジョブは保留されます。

作業方法

キュー特性を指定するには，次の操作を実行します。

1. DEFINE/CHARACTERISTIC コマンドを使用して特性を作成する。

2. 特性をキューに割り当てる。

例

3 台の LN03 プリンタをビルの 4 隅でそれぞれ管理しています。汎用キュー LN03$PRINT は各プリンタの実行キューにジョブを送ります。 EAST，WEST，NORTH，SOUTH という特性を定義できます。

ユーザが EAST 特性を使用してプリント・ジョブを LN03$PRINT に登録すると，そのジョブはビルの東側にある最初のアイドル状態の LN03 プリンタで印刷されます。複数の階に設置されたプリンタのキューがシステムにある場合には，さらに各階に対して特性を定義できます。たとえば，FIRST，SECOND，THIRD などの特性を定義できます。

キュー特性オプションを指定するためのコマンド

特性を操作する場合には，次のコマンドを使用します。

コマンド | 説明
--- | ---
DEFINE/CHARACTERISTIC | 特性を作成して，名前と番号を割り当てる。
DELETE/CHARACTERISTIC | 特性を削除する。
SHOW QUEUE/CHARACTERISTIC | システムに定義されている特性の情報を表示する。
INITIALIZE/QUEUE/CHARACTERISTICS SET QUEUE/CHARACTERISTICS START/QUEUE/CHARACTERISTICS | キューのジョブを処理するための特性を指定する。
SHOW QUEUE/FULL | キューに割り当てられた特性などのキュー情報を表示する。
PRINT/CHARACTERISTICS SUBMIT/CHARACTERISTICS SET ENTRY/CHARACTERISTICS | ジョブに割り当てる特性の名前または番号を指定する。

以降の節では，キュー特性の指定の方法について説明します。

### 14.6.3.1 特性の定義

省略時の設定では，定義されている特性はありません。特性を定義するためには，次の形式の DEFINE/CHARACTERISTIC コマンドを使用します。

    DEFINE/CHARACTERISTIC 特性名   特性番号

1つの番号に対して複数の特性名を定義することはできません。

使用しているキュー構成で，1つの番号に対して複数の特性名が必要な場合には，論理名を定義することにより，これを行うことができます。

OpenVMS Cluster 環境では，必要なすべてのノードで論理名を定義する必要があります。

注意 既存の論理名でもある特性名を定義したい場合には，『Compaq OpenVMS ユーザーズ・マニュアル』の論理名に関する記述を参照ください。

例

次の例では，特性名SECOND_FLOORが特性番号2に割り当てられています。論理名SALES_FLOOR と SALES_DEPTは，特性名SECOND_FLOORと等価であるとして定義されています。この結果，論理名SALES_FLOOR と SALES_DEPT は，特性名 SECOND_FLOORおよび特性番号2 と等価になります。この論理名は，/CHARACTERISTIC=特性名 修飾子における 特性名値として指定することができます。

    $ DEFINE/CHARACTERISTIC SECOND_FLOOR 2
    $ DEFINE/SYSTEM/EXECUTIVE_MODE SALES_FLOOR SECOND_FLOOR
    $ DEFINE/SYSTEM/EXECUTIVE_MODE SALES_DEPT SECOND_FLOOR

### 14.6.3.2 システムに定義されている特性の表示

システムに定義されている特性を表示したい場合は，次の例に示すように SHOW QUEUE/CHARACTERISTICS コマンドを使用します。

例

    $ SHOW QUEUE/CHARACTERISTICS
    Characteristic name                  Number
    -------------------                  ------
    EAST                                      1
    WEST                                      2
    NORTH                                     3
    SOUTH                                     4

### 14.6.3.3 キューへの特性の割り当て

省略時の設定では，キューに特性は割り当てられていません。特性をキューに割り当てるには， INITIALIZE/QUEUE，START/QUEUE，または SET QUEUE コマンドに /CHARACTERISTICS 修飾子を指定します。

例

    $ SET QUEUE/CHARACTERISTICS=(EAST) LN03_1

### 14.6.3.4 キューの特性の表示

キューに定義されている特性を知りたい場合は，次の例に示すように DCL の SHOW QUEUE/FULL コマンドを使用します。

例

    $ SHOW QUEUE/FULL LN03_1
    Printer queue LN03_1, idle, on HERA::TTA3, mounted form DEFAULT
      <Printer queue on node HERA for an LN03 printer>
      /BASE_PRIORITY=4 /CHAR=(1) /DEFAULT=(FLAG=ONE,FORM=LN03$PORTRAIT
      (stock=DEFAULT)) /LIBRARY=LN03LIBRARY Lowercase
     /OWNER=[SYSTEM] /PROCESSOR=LATSYM /PROTECTION=(S:M,O:D,G:R,W:R)
     /SEPARATE=(RESET=(ANSI$RESET))

### 14.6.3.5 キューに割り当てられた特性の取り消し

キューに割り当てられた特性を取り消すには INITIALIZE/QUEUE, START/QUEUE, または SET QUEUE コマンドに /NOCHARACTERISTICS 修飾子を指定します。

### 14.6.3.6 特性の削除

特性の定義を削除する場合は，次の例に示すように DCL の DELETE/CHARACTERISTIC コマンドに特性名を指定します。

特性番号は分かっているが，特性名が分からないという場合は，SHOW QUEUE/CHARACTERISTIC コマンドを使用して，システムに定義されている特性名と特性番号を調べることができます。

キューまたはジョブが特性を参照している場合，システムからは次のメッセージが返されます。

    %DELETE-E-NOTDELETED, error deleting characteristic
    -JBC-E-REFERENCED, existing references prevent deletion

特性を削除するためには，特性に対する参照をすべて削除しておく必要があります。特性に対する参照の削除については， 第 14.8.5 項 を参照してください。

## 14.6.4 バッチ処理オプションの指定方法

INITIALIZE/QUEUE，START/QUEUE，SET QUEUE のいずれかのコマンドでキュー・オプションを使用し，バッチ・ジョブの性能や，バッチ・ジョブを実行するプロセスのシステム資源の使用方法を制御することができます。

バッチ処理オプションの指定に使用可能な修飾子は次のとおりです。

修飾子 | 説明
--- | ---
/JOB_LIMIT= n | キューで同時に実行可能なジョブ数を指定。
/[NO]DISABLE_SWAPPING | キューでジョブを実行しているプロセスをメモリからスワップ可能にするかどうか指定。
/CPUDEFAULT= 時間 | 省略時の CPU 時間割り当ての基本値を指定する。/CPUMAXIMUM 修飾子で設定された時間割り当てを超えてはならない。
/CPUMAXIMUM= 時間 | キューのすべてのジョブに対して最大 CPU 時間制限を指定。

また，バッチ処理オプションの指定では，次の修飾子を使用することもできます。これらの修飾子は実際にはバッチ・キュー専用ではありませんが，バッチ・ジョブの性能や，バッチ・ジョブを実行するプロセスのシステム資源の使用方法を制御するための修飾子として使用されるのが普通です。

オプション | 説明
--- | ---
/BASE_PRIORITY= n | バッチ・キューから起動するジョブの基本プロセス優先順位を指定する。
/WSDEFAULT= n | バッチ・キューから実行するジョブの省略時のワーキング・セット・サイズを指定する。出力キューの場合は，シンビオント・プロセスに対する省略時のワーキング・セット・サイズである。
/WSEXTENT= n | バッチ・キューから実行するジョブのワーキング・セット超過値を指定する。出力キューの場合は，シンビオント・プロセスに対する省略時のワーキング・セット超過値である。
/WSQUOTA= n | バッチ・キューから実行するジョブのワーキング・セット・クォータを指定する。出力キューの場合は，シンビオント・プロセスに対する省略時のワーキング・セット・クォータである。

こうした制限値，クォータ，優先順位については，次のマニュアルを参照してください。

- 『Compaq OpenVMS DCL ディクショナリ』の INITIALIZE/QUEUE コマンド

- 『Guide to OpenVMS Performance Management』 (VAX用)，『Guide to OpenVMS AXP Performance Management』 (Alpha用)

省略時の設定では，バッチ・ジョブを実行するプロセスは，ジョブをキュー登録したユーザの UAF レコードの値か SYSGEN パラメータ設定値を使用します。また，キュー・オプションに値が指定された場合は，ジョブのキュー登録時にユーザによる値の変更がないかぎり，キューに指定された値を使用します。ユーザは，ジョブのキュー登録時， CPU 時間の他，省略時の値，クォータ，超過値などワーキング・セットのオプションを指定することができます。

ユーザが指定する値は，管理者がキューに対して設定した値より小さくなければなりません。管理者が値を指定していない場合には，ユーザが指定する値は，関連する UAF の上限またはシステム・パラメータに指定された値より小さくなければなりません。

次に，これらのオプションの値を選択するときのガイドラインを説明します。

オプション | 参照箇所
--- | ---
基本プロセス優先順位 | 第 14.6.4.1 項
ジョブ制限 | 第 14.6.4.2 項
ワーキング・セットの省略時設定，クォータ，超過値 | 第 14.6.4.3 項
CPU 時間の省略時の値と最大値 | 第 14.6.4.4 項
スワッピング | 第 14.6.4.5 項
メモリ制約付きシステム用のオプション | 第 14.6.4.6 項
Sort/Merge ユーティリティの最適化 | 第 14.6.4.7 項

### 14.6.4.1 基本プロセス優先順位

優先順位値の選択は，バッチ・ジョブを処理したい速度に基づいて行ってください。システム・パラメータ値 DEFPRI (通常は 4) に等しい値を選択した場合，キューのジョブは一般の会話型ジョブと同じレベルの速度で処理されます。これは，CPU 時間が十分に使用できるシステムに適切です。

一方，DEFPRI より小さい値を選択した場合，キューのジョブの処理速度は一般の会話型ジョブと同程度になる可能性があります。これは， DEFPRI 優先順位のジョブのサービスを終えた後しか，キューのジョブに CPU 時間が割り当てられないためです。

非常に特殊な目的で定義されたキューには，つまり，高い優先順位のジョブには，DEFPRI より大きな値を割り当てます (5 など)。ただし，このような割り当てをすると，他のユーザやバッチ・ジョブの性能に大幅な影響を及ぼすことがあります。

### 14.6.4.2 ジョブ制限

バッチ・ジョブは会話型ジョブの性能に影響を与えるので，DEFPRI またはそれより高い基本プロセス優先順位を使用するときは，ジョブ制限値を抑えてください。

### 14.6.4.3 ワーキング・セットの省略時の値とクォータ，超過値

ワーキング・セットに関するオプションが指定されなかった場合，キューのジョブには，所有者の利用者登録ファイル (UAF) レコードに指定された値が適用されます。

プロセス制限 | 説明
--- | ---
ワーキング・セットの省略時の値 | 各イメージの終了時にワーキング・セットが戻るべき値。一般に，この値は比較的に小さい値にすべきであり，通常は，ユーザの UAF レコードに指定されている値のままにしておくのがよい。
ワーキング・セット・クォータ | メモリ制約があるシステムで，キューの各バッチ・ジョブが使用する物理メモリ量を示す値。
ワーキング・セット超過値 | メモリが豊富なシステムにおいてキューの各バッチ・ジョブが使用可能な最大物理メモリ量を示す値。 一般に，このオプションには大きな値を設定する。ワーキング・セット超過値はワーキング・セットの上限のサイズ。したがって，ジョブがさらにメモリを必要としたとしても，この値よりワーキング・セットが大きくなることない。このオプションの値を小さくしすぎると，システムに大量の未使用メモリがあっても，頻繁にジョブがページ・フォルトを起こすことになる。安全を期すためには，システムで設定可能な最大ワーキング・セット・サイズを示すシステム・パラメータ値 WSMAX と同じ値にすることを推奨。

一般にワーキング・セットのクォータと超過値は，ユーザの UAF レコードに指定されている値で十分ですが，キューの用途によっては，値をもっと緩めたり，もっと厳しくしたりする必要が出てくることがあります。たとえば，大きなプログラムのコンパイルやリンクなど，大きなジョブをバッチ・ジョブとして処理したり，資源を多く必要としないジョブを会話形式で処理する場合などです。そのような場合は，次のようにクォータと超過値を設定します。

- バッチ・ジョブについては，バッチ・キューを作成するときに WSQUOTA と WSEXTENT に大きな値を指定するすることによって，ワーキング・セット・サイズを大きくする。

- 会話型ジョブについては，ユーザの UAF レコードの WSQUOTA と WSEXTENT 値を小さくすることによって，ワーキング・セット・サイズを小さくします。

### 14.6.4.4 CPU 時間の省略時の値と最大値

CPU 制限値を設定することによって，ジョブが使用可能な CPU 時間を短くしたり，長くしたりすることができます。

CPU 時間制限値をあまり小さく設定しないでください。 CPU 時間制限値を超えたジョブはエラー終了します。前の項で説明したように，ワーキング・セットの値が小さすぎても，メモリの使用効率が落ちるだけで，ジョブは正常に終了することができます。しかし，CPU 時間制限値が小さすぎると，許可された範囲内で CPU を正しく使用しているジョブも途中終了してしまうことがあります。

たとえば，CPU ループに陥る可能性がある新しいソフトウェアの実行専用のバッチ・キューに， CPU 時間制限値を設定したと仮定します。そうすることによって無限ループが終了するため， CPU 資源の無駄遣いになりません。しかしながら，正常に動作しているジョブが途中終了することのないよう，制限値の選択には注意し，十分に大きな値にする必要があります。

CPU 資源の割り当てを制御するもう 1 つの方法は，1 日のうちで，より多くの CPU 時間を割り当てることができるもっと負荷の少ない時間にジョブの実行を行う専用のバッチ・キューを作成することです。

### 14.6.4.5 スワッピング

一般に，バッチ・キューではスワッピングを有効にします。ただし，非常に特殊な目的を持つ，優先順位の高いキューでは，無効にした方がよいかもしれません。オペレーティング・システムのスワッピングとトリミング機構を介して，プロセスからのメモリ再利用が必要になる時期を考える必要がなくなるため，キューのジョブに適した環境が実現されます。

詳細は『Guide to OpenVMS Performance Management』を参照してください。

前へ | 次へ | 目次 | 索引