日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
SET RMS_DEFAULT |
OpenVMS レコード管理サービス (OpenVMS RMS) がファイル操作のために使用する,マルチブロック数,マルチバッファ数,ネットワーク転送サイズ,プロローグ・レベル,拡張サイズ,およびクエリー・ロック・オプションの省略時の値を定義します。マルチブロック数またはマルチバッファ数に 0 を設定した場合,OpenVMS RMS は,プロセスの省略時の設定値,システムの省略時の設定値の順に検索し,その値を使用します。これらがいずれも 0 の場合には,値 1 を使用します。この省略時の値は,システム全体に適用するように要求されていない限り,プロセス単位で,順編成ファイル,索引順編成ファイル,または相対編成ファイルに対して設定されます。
SET RMS_DEFAULT
ファイル操作をマルチブロック化しマルチバッファ化すると, OpenVMS RMS による入出力操作の速度を上げることができます。 SET RMS_DEFAULT コマンドで設定される省略時の設定は,マルチブロック数とマルチバッファ数を明示的に指定しない,すべてのファイル操作に適用されます。マルチブロックおよびマルチバッファ操作についての詳細は,『OpenVMS System Services Reference Manual』を参照してください。
索引編成ファイルの場合,SET RMS_DEFAULT コマンドは,省略時のプロローグ・レベル・オプションを定義します。
順編成ファイルの場合,SET RMS_DEFAULT コマンドは,省略時のファイル拡張サイズを定義します。省略時の拡張サイズがプログラム中で指定されていない場合,プロセスまたはシステムの省略時の設定が使用されます。
ネットワーク操作の場合,SET RMS_DEFAULT コマンドは,転送のためのネットワーク・バッファ・サイズを定義します。
/BLOCK_COUNT=数
レコード入出力操作でのみ使用される,省略時のマルチブロック数を指定します。指定できる値は,0 から 127 までの範囲です。この数は,各入出力バッファのために割り当てられるブロック数です。マルチブロック数についての詳細は,『OpenVMS Record Management Services Reference Manual』の RAB$B_MBC の説明を参照してください。
/BUFFER_COUNT=数
ローカル・ノード上でのファイル操作で使用される,省略時のマルチバッファ数を指定します。指定できる値は, 0 から 255 までの範囲で,割り当てられるバッファ数を指定します。 /SYSTEM 修飾子を指定してシステム全体の省略時の設定値を指定する場合,指定可能な最大値は 127 です。/BUFFER_COUNT 修飾子を使用する場合には,省略時の値が適用されるファイルのタイプを指定するために,/DISK 修飾子, /INDEXED 修飾子,/MAGTAPE修飾子,/RELATIVE 修飾子,/SEQUENTIAL 修飾子,および /UNIT_RECORD 修飾子を適用できます。これらの修飾子を指定せずに,/BUFFER_COUNT 修飾子だけを指定する場合には, /SEQUENTIAL 修飾子であると解釈されます。つまり,順編成ファイルに適用されます。
マルチバッファ数についての詳細は,『OpenVMS Record Management Services Reference Manual』の RAB$B_MBF の説明を参照してください。
/CONTENTION_POLICY=キーワード [/SYSTEM]
プロセスまたはシステム・レベルで,書き込み共用ファイルの競合レベルの高い状況下での公平度を指定することができます。このオプションを選択すると,ロックのオーバヘッドが著しく増大する可能性があることに注意してください。このオプションは省略時の設定で無効になっています。
特定のバケットに対する競合レベルが高い混在クラスタ環境では,読み込みモードのグローバル・バケット・ロックを使ったノード上の書き込み共用ファイルへのアクセスが,バケットへのアクセスを独占してしまう可能性があります。これをサポートしていないノードは,バケットにタイムリーにアクセスできない可能性があります。
さらに,グローバル・バッファを有効にしないで書き込み共用ファイルへのアクセスを行っていると,すべての OpenVMS バージョンで,これと似た動作が観察されることがあります。ロック変換と新しいロック要求の間でも,新しいロック要求が長期にわたって許可されないという,公平度に関する似たような問題が観察されることがあります。競合レベルの高い状況下での公平度を指定するには, /CONTENTION_POLICY 修飾子を使用します。
次の表は,有効な PROCESS キーワードを示しています (/SYSTEM が指定されていない場合 )。
キーワード 説明 NEVER このプロセスがアクセスするどの書き込み共用ファイルについても,公平度を改善するためにオーバヘッドの大きいオプションを決して使用しない。オーバヘッドは最小限に抑えられる。 SOMETIMES このプロセスがアクセスする,グローバル・バッファが有効になっている任意の書き込み共用ファイルへのアクセスに,より公平なバケット・アクセスを使用する ( ただしオーバヘッドは大きくなる )。 ALWAYS このプロセスがアクセスするすべての書き込み共用ファイルへのアクセスに,より公平なバケット・アクセスを使用する (ただしオーバヘッドは大きくなる)。 SYSTEM_DEFAULT( 省略時の設定 ) システム設定を使用する。このキーワードは /SYSTEM と同時には使用できない点に注意。
次の表は,有効な SYSTEM キーワードを示しています (/SYSTEM が指定されている場合 )。
キーワード 説明 NEVER( 省略時の設定 ) システム上でアクセスされるどの書き込み共用ファイルについても,公平度を改善するためにオーバヘッドの大きいオプションを決して使用しない。オーバヘッドは最小限に抑えられる。 SOMETIMES システム上でアクセスされる,グローバル・バッファが有効になっている任意の書き込み共用ファイルへのアクセスに,より公平なバケット・アクセスを使用する ( ただしオーバヘッドは大きくなる )。 ALWAYS システム上でアクセスされるすべての書き込み共用ファイルへのアクセスに,より公平なバケット・アクセスを使用する (ただしオーバヘッドは大きくなる)。
/DISK
指定した省略時の値が,ディスク装置でのファイル操作に使用されることを指定します。 /SEQUENTIAL 修飾子で指定された値は,/DISK 修飾子で指定された値に優先します。/EXTEND_QUANTITY=n
順編成ファイルが拡張される際のブロック数 (n) を指定します。指定できる値は, 0 から 65535 までの範囲です。この値を指定しない場合や,0 を指定する場合には, OpenVMS RMS が独自の方法で拡張サイズを計算します。プログラムに拡張サイズを指定していない場合に,/EXTEND_QUANTITY 修飾子の値が使用されます。/INDEXED
指定したマルチバッファの省略時の値が,索引ファイル操作に使用されることを指定します。/MAGTAPE
指定したマルチバッファの省略時の値が,磁気テープ・ボリュームでのファイル操作に使用されることを指定します。 /SEQUENTIAL 修飾子で指定された値は, /MAGTAPE 修飾子で指定された値に優先します。/NETWORK_BLOCK_COUNT=数
リモート・ノード上のファイルをネットワークでアクセスするときの,省略時のブロック数を指定します。指定できる値は,0 から 127 までの範囲です。この値は,データを送受信するために OpenVMS RMS が割り当てる,入出力バッファの数を示します。リモート・ノード上のファイル・アクセスで使用されるバッファ・サイズは, OpenVMS RMS とリモート・ノードのファイル・アクセス・リスナ (File Access Listener [FAL]) の間で決定され,これらの 2 つのサイズの中で小さい方の値が,バッファ・サイズの値として選択されます。
したがって,/NETWORK_BLOCK_COUNT 修飾子の値は,使用されるネットワーク・バッファ・サイズの上限値となります。また,リモート・ノードのファイルとの間で転送できる,最大レコードの上限値(512 * NETWORK_BLOCK_COUNT)も設定します。つまり,転送できる最大レコードは,この値以下でなければなりません。
この値を指定しない場合や 0 を指定する場合には,OpenVMS RMS は,システム全体で使用されるブロック数の値を使用します。この値も 0 の場合には,OpenVMS RMS は,1 ブロックのサイズを使用します。
/PROLOG=n
索引順編成ファイルの,省略時のプロローグ・レベルを指定します。ただし,指定できる値は 0,2,または 3 です。1 は指定できません。 0 を指定した場合には,OpenVMS RMS が適切なプロローグ・レベルを設定します。省略時の値は 0 です。/QUERY_LOCK=キーワード [/SYSTEM]
プロセスおよびシステム・レベルでのクエリー・ロッキングを有効または無効にします。次の表に,有効な PROCESS キーワードを示します (/SYSTEM を指定しない場合 )。
キーワード 説明 DISABLE プロセス内のイメージによって,RAB (レコード・アクセス・ブロック) の RAB$L_ROP フィールドに RAB$V_NLK (no lock) と RAB$V_RRL (read-regardless) の両方が設定された任意のレコード読み込み ($GET または $FIND) 操作のために行われるファイル・オープンの期間中,クエリー・ロッキングを無効にします。クエリー・ロッキングが無効にされると,RMS は,レコードが他のストリームによってロックされているかどうかを調べるだけのために,ロック・マネージャに対してレコード読み込み操作の呼び出しを行わないようになります。 ENABLE このプロセス内で実行されるイメージに対して, RMS の省略時のレコード・ロッキングを使用します。 SYSTEM_DEFAULT (省略時の設定) システム設定を使用します。このキーワードは /SYSTEM とは併用できないことに注意してください。
次の表に,有効な SYSTEM キーワードを示します (/SYSTEM をともに指定する場合 )。
キーワード 説明 DISABLE システム上のイメージによって,RAB( レコード・アクセス・ブロック ) の RAB$L_ROP フィールドに RAB$V_NLK (no lock) と RAB$V_RRL (read-regardless) の両方が設定された任意のレコード読み込み ($GET または $FIND) 操作のために行われるファイル・オープンの期間中,クエリー・ロッキングを無効にします。クエリー・ロッキングが無効にされると,RMS は,レコードが他のストリームによってロックされているかどうかを調べるだけのために,ロック・マネージャに対してレコード読み込み操作の呼び出しを行わないようになります。 ENABLE (省略時の設定) このプロセス内で実行されるイメージに対して, RMS の省略時のレコード・ロッキングを使用します。
QUERY_LOCK 設定に関連付けられている sysgen パラメータはありません。
/RELATIVE
指定したマルチバッファの省略時の値が,相対編成ファイルのファイル操作に使用されます。/SEQUENTIAL (省略時の設定)
指定したマルチバッファの省略時の値が,順編成ファイルの操作に使用されることを指定します。/SEQUENTIAL 修飾子で指定された値は,/DISK 修飾子, /MAGTAPE 修飾子,/UNIT_RECORD 修飾子による指定に優先します。/RELATIVE 修飾子も,/INDEXED 修飾子を指定していない場合には,省略時の値として,/SEQUENTIAL 修飾子が適用されます。
/SYSTEM
CMKRNL(カーネルへのモード変更)特権が必要です。指定した省略時の値が,システム全体のすべてのファイル操作に使用されることを指定します。
/QUERY_LOCK を除き,システム・パラメータを使用すると,システム全体に対して操作できます。システムを再ブートした後も設定を保存したい場合は,SYSGEN を使用してシステム・パラメータ・ファイルに書き込んでおく必要があります。
/UNIT_RECORD
マルチバッファの省略時の値が,レコード単位取り扱い装置のファイル操作に使用されることを指定します。 /SEQUENTIAL 修飾子で指定された値は, /UNIT_RECORD 修飾子で指定された値に優先します。
#1 |
---|
$ SET RMS_DEFAULT/BLOCK_COUNT=24 $ SHOW RMS_DEFAULT MULTI- | MULTIBUFFER COUNTS | NETWORK BLOCK | Indexed Relative Sequential | BLOCK COUNT | Disk Magtape Unit Record | COUNT Process 24 | 0 0 0 0 0 | 0 System 16 | 0 0 0 0 0 | 8 Prolog Extend Quantity QUERY_LOCK Process 0 0 System System 0 0 Enabled CONTENTION_POLICY Process System System Never |
マルチ・ブロック数を明示的に指定しないプログラムに対して,ディスク・ファイル入出力のマルチ・ブロック数を,24 に設定します。現在のプロセスにのみ適用されます。
#2 |
---|
$ SET RMS_DEFAULT/BUFFER_COUNT=8/MAGTAPE $ SHOW RMS_DEFAULT MULTI- | MULTIBUFFER COUNTS | NETWORK BLOCK | Indexed Relative Sequential | BLOCK COUNT | Disk Magtape Unit Record | COUNT Process 0 | 0 0 0 8 0 | 0 System 16 | 0 0 0 0 0 | 8 Prolog Extend Quantity QUERY_LOCK Process 0 0 System System 0 0 Enabled CONTENTION_POLICY Process System System Never |
磁気テープ入出力操作に対する,省略時のマルチバッファ数を 8 に設定します。
#3 |
---|
$ SET RMS_DEFAULT/BUFFER_COUNT=7/NETWORK_BLOCK_COUNT=16/SYSTEM $ SHOW RMS_DEFAULT MULTI- | MULTIBUFFER COUNTS | NETWORK BLOCK | Indexed Relative Sequential | BLOCK COUNT | Disk Magtape Unit Record | COUNT Process 0 | 0 0 0 0 0 | 0 System 16 | 0 0 7 7 0 | 16 Prolog Extend Quantity QUERY_LOCK Process 0 0 System System 0 0 Enabled CONTENTION_POLICY Process System System Never |
ディスク,磁気テープ,およびレコード単位取り扱い装置上の,すべての順編成ファイル操作について,システム全体で使用される省略時のマルチ・ブロック数を 7 に設定します。また,ネットワーク・ブロック数を 16 に設定しています。
#4 |
---|
$ SET RMS_DEFAULT/EXTEND=50/INDEXED/BUFFER_COUNT=5 $ SHOW RMS_DEFAULT MULTI- | MULTIBUFFER COUNTS | NETWORK BLOCK | Indexed Relative Sequential | BLOCK COUNT | Disk Magtape Unit Record | COUNT Process 0 | 5 0 0 0 0 | 0 System 16 | 0 0 0 0 0 | 8 Prolog Extend Quantity QUERY_LOCK Process 0 50 System System 0 0 Enabled CONTENTION_POLICY Process System System Never |
索引順編成ファイルに対する,入出力操作のマルチバッファ数の省略時の値を 5 にします。また,順アクセス時のファイル拡張サイズの省略時の値を 50 ブロックに設定します。これらの設定は,現在のプロセスのみに適用され,明示的にマルチブロック数を指定しないプログラムの,ディスク・ファイル操作時に使用されます。
#5 |
---|
$ SET RMS_DEFAULT/QUERY_LOCK=DISABLE $ SHOW RMS_DEFAULT MULTI- | MULTIBUFFER COUNTS | NETWORK BLOCK | Indexed Relative Sequential | BLOCK COUNT | Disk Magtape Unit Record | COUNT Process 0 | 0 0 0 0 0 | 0 System 16 | 0 0 0 0 0 | 8 Prolog Extend Quantity QUERY_LOCK Process 0 0 Disabled System 0 0 Enabled CONTENTION_POLICY Process System System Never |
この例の SET RMS_DEFAULT コマンドは,このプロセス内のイメージによって, RAB( レコード・アクセス・ブロック ) の RAB$L_ROP フィールドに RAB$V_NLK(no lock) と RAB$V_RRL(read-regardless) の両方が設定された任意のレコード読み込み ($GET または $FIND) 操作のために行われるファイル・オープンの期間中,クエリー・ロッキングを無効にするように要求します。
目次 | 索引 |
|