Caché の最善のパフォーマンスを得るには、特定の Caché システム・パラメータに適切な値を計算する必要があります。これらの値から、OpenVMS システム・パラメータを調整する必要があるかどうかを判断します。ディスク・アクセスが必要なスワッピングやページングを最小限に抑える値を選択することにより、システムのパフォーマンスが向上します。
ご使用のオペレーティング・システムのメモリ編成をまだ十分に理解されていない場合は、システムのマニュアルをよく読んだ上で、以下のセクションに記載されている、プロセスと物理メモリの割り当てに関する概要をお読みください。
OpenVMS プロセスとは、スケジュールできるエンティティです。インタラクティブに、あるいはバッチ処理のように実行します。OpenVMS プロセスがサブプロセスを生成する場合、これらをあわせてジョブと呼びます。
オペレーティング・システムのタスクの多くは OpenVMS プロセスです。インタラクティブか、バッチ処理か、あるいはオペレーティング・システム特有であるかどうかにかかわらず、すべてのプロセスは、このセクションで説明している構造を共有します。OpenVMS は、複数のプロセスを同時実行できます。コンピュータの性能により、OpenVMS は 4 から 1000、あるいはそれ以上の同時プロセスを実行できます。
各プロセスは共有の物理メモリを使用します。 この物理メモリには、プロセス特有のオペレーティング・システム情報、プロセスが使用しているコード、使用したり生成するデータが保存されます。例えば、プログラマが OpenVMS エディタでルーチンを編集する場合、OpenVMS はメモリにエディタをロードし、エディタのバッファと変数に領域を割り当て、メモリで編集するルーチンのすべて、あるいはその一部をロードします。
コードやデータの中には、複数のプロセスで使用できるものもあります。エディタはこのタイプのコードの一例です。その他の例として、Caché 用のコードおよび Caché で生成される一部のデータのコードがあります。
複数のプロセスで共有できるコードやデータは、メモリの共有セクションに格納します。共有セクションは、最初にシステムを使用するユーザによって生成されるか、システムの初期化中に生成されます。その設定がその後に使用するユーザにも適応されるため、個別のプロセスごとで複製、格納はされません。
Caché のシステム・コード、グローバル・バッファ、ルーチン・バッファは、メモリの共有セクションに格納されます。
OpenVMS は、プロセスに必要なコードとデータ領域を、
ページ 単位で測定します。共有セクションも、共有ページあるいはグローバル・ページと呼ばれるページ単位で測定します。
OpenVMS 搭載の Alpha システムでは、ページ・サイズは固定されていませんが、通常、8192 バイトです。各ページは、512 バイト長の
ページレット 単位に分割されます。
プロセスは、割り当てられている物理メモリの容量に収められるよりも多くページにアクセスする必要のある場合があります。この状況が発生すると、OpenVMS は、ディスク上に追加のページを格納します。メモリには、アクティブなもの、または最新のページのみ保存します。ページをメモリやディスクに格納するかどうかにかかわらず、プロセスのページを総称して、プロセスの
仮想メモリ・セット と呼びます。現在メモリに格納されているページを、プロセスの
物理ワーキング・セット、あるいは
ワーキング・セット とも呼びます。ページごとの状態は、プロセスのワーキング・セット・リストに保持されます。
OpenVMS は、プロセスに使用できるフリー・ページをフリー・ページ・リストに表します。また、変更済みのページ・リストもあります。 これは、フリー・ページ・リスト上で使用できるようにする前に、プロセスによって変更されたページを追跡し、ディスクに書き込みます。
プロセスが、現在物理ワーキング・セットにないページにアクセスする必要がある場合もあります。この場合、OpenVMS はそのページを 2 ヶ所で検索します。まず、変更済みのフリー・ページ・リストを検索します。 そのページをまだ物理メモリで使用できる可能性があるためです。リストにない場合は、ディスクから検索します。
OpenVMS がページを検索する際に、プロセスで
ページ・フォルト を生じることがあります。その新規ページが変更済みのページ・リストあるいはフリー・ページ・リストにある場合、このページ・フォルトを
ソフト・ページ・フォルト と呼びます。ページがディスク上でのみ有効の場合、このページ・フォルトを
ハード・ページ・フォルト と呼びます。OpenVMS がディスクからページを検索する間、プロセスは休止します。OpenVMS が必要なページの検索を完了するまで、ページ・フォルトは待機したままです。このプロシージャに必要な時間は、システムのディスク・サイズ、回転速度、負荷によって異なります。
OpenVMS が新規ページを検索する場合、現在のワーキング・セット・ページの 1 つを、変更済みのページ・リスト、あるいはフリー・ページ・リストに置きます。OpenVMS は、プロセスが最も長い間使用していないページを選択します。
Note:
Caché
SETQUOTA ユーティリティにより、ネットワーク・デーモンとジョブ・サーバを含むジョブ・プロセスの、クォータ・パラメータの既定値を変更できます。
SETQUOTA は、マルチユーザで起動する間に自動的に実行するように、あるいは起動後インタラクティブに実行するよう設定します。
OpenVMS では、
SYSGEN ユーティリティを使用して、プロセスが使用するメモリを制限できます。その後、
AUTHORIZE ユーティリティで、プロセスごと (ユーザごと) の制限を設定できます。
以下の表は、OpenVMS のシステム・パラメータを示します。 システム・パラメータは、プロセスのワーキング・セットで使用できるメモリ容量に影響します。
OpenVMS ワーキング・セット・パラメータ
パラメータ |
定義 |
WSDEFAULT |
ワーキング・セットの初期サイズ。 512 バイトのページレット単位で表します。 |
WSQUOTA |
OpenVMS が任意のプロセスに割り当てる、保証される物理メモリの最大容量。 ページレット単位で表します。WSQUOTA は、SYSGEN パラメータ WSMAX の値で制限されます。WSQUOTA が WSMAX より大きい場合、ユーザは WSMAX のメモリ範囲内にのみアクセスできます。 |
WSEXTENT |
プロセスが所有できる物理メモリの最大容量。WSQUOTA を除いた WSEXTENT の容量は 貸し出し メモリと呼ばれ、現在のフリー・リスト・サイズがパラメータ BORROWLIM で設定された容量を超える場合にのみ、プロセスに割り当てられます。 |
WSINC |
必要に応じて、プロセスのワーキング・セット・サイズを増加する場合のページレット数。 |
WSDEC |
必要に応じて、プロセスのワーキング・セット・サイズを減少する場合のページレット数。 |
BORROWLIM |
プロセスがページを借りる前のフリー・ページ・リストの最小ページレット数。 WSEXTENT ページ数まで WSINC 単位でページを借りることができます。 |
PFRATH (Page Fault Rate High) |
OpenVMS が ワーキング・セットの自動調整 で WSINC でワーキング・セットを増加する前に、AWSTIME の指定時間内に発生する必要があるページ・フォルト数。 |
PFRATL (Page Fault Rate Low) |
ページ・フォルト数がこの値より小さい場合、OpenVMS は、ワーキング・セットの自動調整 を行い、WSDEC で ワーキング・セットを削減します。 しかし、AWSMIN で設定された値よりは高くなります。 |
Note:
パラメータの単位はページレットですが、OpenVMS はメモリをページ単位で割り当てます。これにより、選択するパラメータ値は、ページごとのページレット数の何倍にもなる場合があります。このガイドラインに従わない場合、OpenVMS は自動的にこれらのパラメータを丸めます。
以下の手順は、OpenVMS が使用するアルゴリズムの概要で、各プロセスで使用できる物理メモリ容量を決定します。大文字表記の各用語は、OpenVMS が物理メモリの割り当てに使用するシステム・パラメータです。
-
プロセスはイメージの実行を開始します。OpenVMS は、クォータ・パラメータ
WSDEFAULT で指定されたページレット数を割り当てます。
Page Allocation:
0--->WSDEFAULT
-
プロセスのページ・フォルト率が
PFRATH より高い場合、OpenVMS はより多くのページレットを割り当てます。OpenVMS は、プロセスに
WSQUOTA の総ページレット数が含まれるようになるまで、これらのページレットを
WSINC の増分値で割り当てます。
Page Allocation:
0--->WSDEFAULT-->WSINC-->WSINC-->WSQUOTA
-
プロセスのページ・フォルト率が高いままで、フリー・リスト・サイズが
BORROWLIM を超える場合、OpenVMS は、フリー・リスト・サイズが不足する、または
WSEXTENT に達するまで
WSINC ブロックにページレットを割り当て続けます。
Page Allocation:
0-->WSDEFAULT-->WSINC-->WSQUOTA-->WSINC-->WSEXTENT
-
プロセスのページ・フォルト率が
PFRATL より低い場合、OpenVMS は、ページ・フォルト率が
PFRATL を超えるまで
WSDEC の増分値で、ワーキング・セットからページを削除します。
-
プロセスがイメージを終了する際に、これらの追加ページを削除します。例えば、月ごとの給与支払いジョブがあるとします。7 月にこのジョブを実行する場合、
WSDEFAULT で実行を開始し、
WSEXTENT に達するまでページを取得します。これを 8 月に実行すると、
WSDEFAULT の既定値で再度実行を開始します。
詳細な OpenVMS ページの割り当て方法については、OpenVMS マニュアルを参照してください。
OpenVMS には、プロセスごとにあるいはユーザごとに、ワーキング・セット・パラメータを変更する機能があります。以下の表は、それらメソッドの概要です。
ワーキング・セット・コントロール
プロセス・タイプ |
ワーキング・セット・コントロールのメソッド |
ユーザ |
AUTHORIZE ユーティリティでは、ユーザごとに既定のワーキング・セットを変更できます。 |
インタラクティブ・プロセス |
DCL コマンド SET WORKING_SET により、インタラクティブなプロセスがワーキング・セット・パラメータを変更できます。 |
バッチ・プロセス |
ワーキング・セットの SUBMIT コマンド修飾子は、バッチ処理によって物理メモリの割り当て領域を変更できます。 |
バッチ・キュー |
DCL コマンド INITIALIZE/QUEUE を使用して、バッチ・キューのワーキング・セット・パラメータを変更できます。 |
メモリには限りがあります。OpenVMS で新規プロセスを開始するたびに、使用できるページ総数から
WSDEFAULT ページが除かれます。その残りのメモリが、フリー・ページ・リストと各プロセスの割り当てに追加する
WSINC で使用できます。
高負荷システムでは、多数の同時プロセスを実行できるため、フリー・ページ・リストに使用する残りのページ数が少なくなります。OpenVMS には、フリー・ページ・リストのページ数の下限を設定する、
FREELIM というパラメータがあります。
フリー・ページ・リストや修正済みのページ・リスト・サイズは、ソフト・ページ・フォルトに対する、ハード・ページ・フォルトの割合に直接影響します。ハード・ページ・フォルトにより、プロセスはリソース待機状態になるため、実行速度が遅くなります。パフォーマンスを向上させるには、ハード・ページ・フォルトを最小限に抑えるようなシステム調整が重要です。ソフト・フォルトは低負荷ですが、ソフト・ページ・フォルト率が高すぎてもパフォーマンスの低下を招きます。
OpenVMS は、
FREELIM に満たないフリー・ページ・リスト・サイズを検出すると常に、
FREEGOAL.までそのサイズを上げる機能を動作させます。これを実行するために、すべての他の機能が不適切な場合、OpenVMS は休止中のプロセスの全ワーキング・セットをディスクに移動します。このプロシージャを
スワッピング と呼びます。ディスクに移動したプロセスを、スワップ・アウトといい、プロセスがメモリに戻されることを、スワップ・インと呼びます。スワッピングは、システム全体のパフォーマンスに悪影響を及ぼします。
OpenVMS の共有コードとデータのメモリ割り当ては、多少異なる方法で実行します。
GBLSECTIONSパラメータは、システムの起動時に割り当てられる共有セクション数を設定します。
GBLPAGES パラメータは、グローバル・ページのテーブル・エントリ数を設定します。128 ページの各エントリ・グループに対し、メモリは 4 バイト必要です。また、OpenVMS は、
GBLPAGFIL パラメータを使用し、グローバル・ページで有効な最大ページ・ファイル・ブロック数を設定します。
Caché による OpenVMS メモリの使用方法
OpenVMS の稼動時に、Caché は、各プロセスに対し共有メモリとプライベート・メモリの両方を使用します。
すべての Caché コードは共有され、メモリに物理的にロックできます。グローバル・バッファ・プールも同様です。
ルーチン・バッファも同様に動作しますが、多少異なります。ルーチン・バッファはコードを共有しますが、各ルーチン・バッファがメモリにロックされる量を指定できます。ルーチンが、ルーチン・バッファのロックされた部分よりも大きい場合、ルーチン・バッファのルーチンの一部のみがメモリにロックされます。残りのルーチンは、ロックされていない物理メモリにロードされます。
メモリに共有データとルーチンをロックすると、メモリ・アクセスがディスク・アクセスより速くなるため、より高速な応答が可能になります。その結果、さらに多くのグローバルとルーチンをメモリに保持できるようになります。しかし、メモリのリソースには限りがあります。割り当てるグローバルやルーチン・バッファが多いほど、OpenVMS プロセスで使用できるメモリが少なくなります。少量のメモリしか使用できない場合、多量の OpenVMS ページングが発生します。
したがって、十分なグローバルとルーチンをメモリに割り当てることができるようにグローバル数やルーチン・バッファ数を選択し、OpenVMS ページングへの悪影響を避ける必要があります。このドキュメントでは、その値の選択方法を説明します。
ノンページド・ダイナミック・メモリを使用したソフト・ページ・フォルトの削減
OpenVMS では、Caché はグローバル・バッファをノンページド・ダイナミック・メモリと呼ばれるシステム・メモリに割り当てることができます。
これには、個別のプロセスのワーキング・セット・リストではなく、OpenVMS のワーキング・セット・リストを経由して、このメモリをインデックスするという利点があります。この方法により、グローバル・バッファ・アクセスに関するソフト・ページ・フォルトを削減します。インターシステムズは、グローバル・バッファにノンページド・ダイナミック・メモリを使用することをお勧めします。
プロセス・プライベート・スペースを使用したページングの削減
各 Caché プロセスは、共有メモリ・セクションにマップしますが、プロセスのプライベート領域と呼ばれるメモリ領域にもアクセスします。このプライベート領域には、特定のプロセスに属する変数、配列、スタック、他のデータ構造が含まれます。
プライベート領域のメモリ量は、ページングを削減するために、プロセスのワーキング・セットにロックされます。しかし、プライベート領域は、メモリには物理的にロックされません。
OpenVMS パラメータ・カルキュレータを使用すると、Caché パラメータと OpenVMS パラメータの両方に適切な値を使用して開始することができます。システムが適切に機能しない場合、後からパラメータを調整して、パフォーマンスを改善することができます。以下のセクションでは、OpenVMS パラメータを決定する手順を説明します。
このセクションでは、Caché で使用するプロセス数、グローバル・バッファ数、ルーチン・バッファ数を制御するフィールドに入力する適切な値を決定します。その値を決定すれば、パラメータ・カルキュレータを使用して、Caché と OpenVMS 両方のパラメータの正確な値を算出することができます。
インストール中に、これらのパラメータやその他の Caché パラメータの値を設定します。既定値をそのままご使用いただいても結構です。 将来的にシステム調整が必要になった場合、Caché 構成マネージャでいつでも値を調整できます。パラメータの変更を反映させるには、Caché を再起動してください。
スタートアップ時に Caché が割り当てるグローバルとルーチン・バッファ数を決定する前に、システムで一度に実行できる Caché の最大プロセス数を決定する必要があります。
Caché の各ユーザは、1 つの Caché プロセスを構成します。すべての Caché
Job コマンドは、プロセスを作成します。
ガーベジ・コレクタ と
ライト・デーモン を処理するシステムを除き、%SS システムで表示されるプロセスすべてを考慮する必要があります。概算としては、ご使用の Caché ライセンスで必要なプロセス数を、この値に使用します。 ライセンスの上限を越えることはできません。
各ルーチン・バッファは、1 度に 1 つのルーチンのみ保持できます。OpenVMS 搭載の Alpha システムのルーチン・キャッシュ数の上限は、524 です。
多くのプロセスは、ルーチン・バッファを共有できます。したがって、プロセスが Caché ルーチンから他のルーチンへ変わる場合、他のバッファにある他のルーチンにアクセスします。現在、バッファにアクセスしているプロセスがない場合、バッファはフリー・バッファ・プールに戻され、別の Caché プロセスから要求があると、新規のルーチンが空きのバッファにロードされます。Caché がルーチンをロードする際にすべてのバッファが使用中の場合、使用頻度が一番低い (LFU) バッファではなく、一番古い (LRU) バッファを選択します。バッファが多いほどパフォーマンスは向上します。
アプリケーションの性能により、適切なバッファ数が決まります。多くのユーザが少数のルーチンにアクセスする場合、適切な応答時間を得るには、比較的少数のバッファで十分です。反対に、大量のルーチンを持つアプリケーションは、大量のバッファが適切です。
パラメータ・カルキュレータは、ルーチン・バッファ数の既定値から計算を開始します。この既定値は、中規模サイトに適した値に設定されています。ユーザのサイトの規模に基づいて、パラメータ・カルキュレータの
[Routine Buffer Pool] フィールドに、異なる値を入力してください。
パラメータを計算する場合、グローバル・バッファのサイズは 8 KB と考えます。カルキュレータは、クラスタ・システムやノンクラスタ・システム用に、推奨されている
概算値 を使用します。
システムのメモリが不足している場合、この値を削減します。しかし、プロセスごとの 32 KB 以下の値に設定してはなりません。
多量のグローバル・バッファを使用すると、サイト・パフォーマンスが向上します。
GLOSTAT ユーティリティで作成した統計を使用して、グローバル・バッファを追加することでディスク・アクセスを低減し、パフォーマンスを向上できるかどうかを判断します。
Caché 以外にも、システムごとにメモリが必要です。例えば、FORTRAN や COBOL などのレイヤード製品と同様に OpenVMS 自体にもメモリが要求されます。システムに必要なメモリを分析するには、Caché をインストールする前に、以下の手順で、指示されているパラメータ値を算出します。
Note:
アップグレートを実行している場合、正確な数字を取得するために Caché を終了してください。
-
$ SET DEF SYS$SYSTEM
$ RUN SYSGEN
SYSGEN> USE CURRENT
SYSGEN> SHOW parameter-name
-
$ SET DEF SYS$SYSTEM
$ RUN SYSGEN
SYSGEN> USE CURRENT
SYSGEN> SHOW/PQL
あるいは、OpenVMS
AUTHORIZE ユーティリティを実行し、Caché を使用するユーザ・アカウントごとに、ユーザ認証ファイル (UAF) のパラメータの現在値を算出します。
$ SET DEF SYS$SYSTEM
$ RUN AUTHORIZE
UAF> show user-name
これらの値の最小推奨値が返された後、UAF レコードをすべてのユーザ・アカウントに個別に設定する必要があります。
Caché OpenVMS の パラメータ・カルキュレータの使用
ここでは、Caché OpenVMS パラメータ・カルキュレータの使用方法について説明します。このツールは、インタラクティブな HTML ドキュメントで、Caché で要求される OpenVMS パラメータを算出します。既定値は、中規模インストールに適した数値に設定されています。ユーザのサイトで Caché の設定と調整を行う際に、インターシステムズ ジャパンの技術者によるサポートもご利用いただけます。
パラメータ値を取得するには、以下の手順を実行します。
-
クラスタ化されたシステムで、パラメータを計算するかどうかを選択します。
[Yes] を選択すると、クラスタ・マスタ値と追加されたノードの値の両方を取得します。 取得しない場合、シングル・ノードの値を計算します。
-
OpenVMS パラメータ・カルキュレータへの入力の際は、上記のセクションで決定した値を以下のフィールドに使用します。
OpenVMS パラメータ・カルキュレータへの入力
パラメータ |
ユーザ定義値 |
プロセス数 |
|
ルーチン・バッファ・プール |
|
プロセスごとのグローバル・バッファ |
|
-
-
カルキュレータの計算結果から値を推測し、その値をガイドラインにします。サイトのハードウェアとソフトウェアの構成ごとに適切な設定を行い、システムのパフォーマンスを調整、最大にする必要があります。
以下の値は、Caché のパラメータです。 これらは、Caché のインストール中に更新するか、インストール後に Windows のクライアントから
構成マネージャ で更新します。
Caché パラメータの出力
パラメータ |
計算値 |
グローバル・バッファ数 |
|
データベース・キャッシュ用メモリ (MB) |
|
ルーチン・キャッシュ用メモリ (MB) |
|
OpenVMS パラメータ・カルキュレータで算出されたシステム・パラメータ値は、Caché を実行するために現在の OpenVMS システムに追加する必要がある容量です。Caché は、このメモリ容量を消費するため、使用するシステムに十分なメモリ容量があることを確認してください。
算出された必須の値と現在のシステム値を組み合わせるために、以下の表を利用ください。OpenVMS
SYSGEN ユーティリティの
SET コマンドで、これらのパラメータを更新します。
OpenVMS システム・パラメータ値
パラメータ |
現在値 |
Caché に必要な容量 |
結果値 |
BALSETCNT |
|
|
|
MAXPROCESSCNT |
|
|
|
GBLPAGES |
|
|
|
GBLPAGFIL |
|
|
|
GBLSECTIONS |
|
|
|
LOCKIDTBL |
|
|
|
RESHASHTBL |
|
|
|
SYSMWCNT |
|
|
|
パラメータ・カルキュレータは、OpenVMS システムで Caché を構成するために使用する特別なパラメータを提供します。
算出された値が、使用する OpenVMS システムに適切かどうかを検証します。
OpenVMS の特別なパラメータ値
パラメータ |
返り値 |
常駐メモリ (MB) |
|
PRIORITY_OFFSET |
|
PE1 |
|
インターシステムズは、いくつかの PQL プロセス・クォータ・パラメータに最小値を推奨します。これは、Caché には、
GJOBQ というテーブルがあり、これらのパラメータの多くに対する既定値が入っているためです。これらの値を認証し、Caché プロセスが
GJOBQ テーブルの値を使用できるようにしておく必要があります。
パラメータの値を計算する必要はありません。推奨される最小値を OpenVMS パラメータ・カルキュレータで表示できます。これらの値を、以下の表の
推奨される最小値 の列に入力します。
OpenVMS プロセス・パラメータ値
パラメータ |
現在値 |
推奨される最小値 |
ASTLM |
|
|
BIOLM |
|
|
BYTLM |
|
|
DIOLM |
|
|
FILLM |
|
|
PGFLQUOTA |
|
|
TQELM |
|
|
WSQUOTA |
|
|
WSEXTENT |
|
|
ENQLM |
|
|
これらのパラメータの現在値が推奨の最小値より小さい場合、値を調整する必要があります。 このためには、インストール中に、各ユーザ・アカウントに対し OpenVMS
SYSGEN ユーティリティ、あるいは
AUTHORIZE ユーティリティの
SET コマンドを使用します。
OpenVMS 搭載の Alpha プラットフォームは、常駐メモリ・セクション機能を最大限に利用します。すべての OpenVMS Caché ユーザがこの機能を活用することをお勧めします。
OpenVMS バージョン 7.1 あるいはそれ以降を搭載した Alpha システムには、グローバル・セクション (プロセス間で共有できるメモリ) を割り当てるメモリ機能があります。Caché は、メモリ常駐グローバル・セクションと共有ページ・テーブルの 2 つの機能をサポートしています。 これらは常に一緒に使用します。
グローバル・バッファ・プールに、共有ページ・テーブルを介してマップされたメモリ常駐グローバル・セクションを使用する利点は以下の通りです。
-
メモリ常駐グローバル・セクションにあるページへのアクセスは、ワーキング・セット・クォータにもプロセスのページファイル・クォータにも負荷をかけません。また、プロセスがメモリ常駐グローバル・セクションにマップし、ページを参照する場合、プロセスのワーキング・セット・リストを使用しないため、プロセス・クォータが削減されることがあります。
-
共有ページ・テーブルでは、2 つ以上のプロセスを同じ物理ページにマップできます。 各プロセスは、ページ・テーブル構築のオーバーヘッド、ページ・ファイル計算のオーバーヘッド、あるいはワーキング・セット・クォータ計算のオーバーヘッドを発生しません。内部的には、共有ページ・テーブルを特有のグローバル・セクションとして処理し、特に、メモリ常駐グローバル・セクションの一部であるページをマップするために使用します。
-
システムのグローバル・バッファ・プールにあるページ・テーブルのコピーは 1 つのみです。 これは、物理メモリを節約し、グローバル・セクションから新規のプロセスへのマップを高速にします。共有ページ・テーブルは、データベース・サーバの起動時間を大幅に削減します。 サーバ・プロセスは、従来のグローバル・セクションより何百倍も速くメモリ常駐グローバル・セクションをマップできるからです。これにより、システム全体の性能が向上し、クライアントの要求に対する応答時間が早くなります。
この構造の欠点は、グローバル・バッファ・プールのサイズを大きくしたい場合、OpenVMS システムを再起動し、メモリ常駐グローバル・セクションに保存されている領域を再構成する必要がある点です。この領域は、システムの開始時 (SYSMAN と AUTOGEN 経由で) に予約したり、動的に割り当てることができます。予約されていない場合、要求に対し領域が不足するため、その要求が失敗する可能性があります。Caché がメモリ常駐グローバル・セクションを使用するように要求され、それができない場合、非メモリ常駐グローバル・セクションからグローバル・バッファ・プールを割り当てます。
-
-
SYSMAN を使用して、メモリ・セクションを予約します。指定セクションの名前を指定します。これは、43 文字以下の英数字 (と下線) です。
SYSMAN の構文は以下の通りです。
MCR SYSMAN ! run sysman
SYSMAN> RESERVED_MEMORY ADD "Resident_Memory_Name" -
/ALLOCATE/PAGE_TABLES/ZERO/SIZE=<size in MB>
SYSMAN> EXIT
-
AUTOGEN を実行し、予約済みのメモリ登録データ・ファイルを処理します。 このファイルには、ユーザのメモリ常駐グローバル・セクションを作るための情報が含まれます。システムの再起動後、
SYSMAN コマンドは予約した共有メモリ・セクションを表示します。
MCR SYSMAN ! run sysman
SYSMAN> RESERVED_MEMORY SHOW
-
Caché 構成ファイル (
config.def、
cache.cpf など) を変更し、予約セクションを使用します。これは、[config] セクションに予約メモリ・パラメータを設定して実行します。 以下が読み込まれます。
useresidentmem=1[,<resident memory section name>]
また、Windows クライアント上の Caché 構成マネージャを使用して、構成ファイルを変更することもできます。
-
[一般] タブで、適切な OpenVMS 構成ファイルが開いているかを確認します。開いてなければ、
[詳細] タブの
[ファイル] ボタンをクリックします。 この中で、正しい構成ファイルを選択し、
[開く] をクリックし、
[OK] をクリックします。
-
-
-
-
Caché を再起動します。予約メモリ・セクションを使用できない場合、Caché はメッセージを表示し、エラー・コードを
SYSLOG に表示します。
常駐メモリを使用してグローバル・バッファ・プールをマップすると、システム・パラメータの一部、特に
WSMAX を削減できる場合があります。通常、OpenVMS 搭載の Alpha は、Caché の実行に必要な値よりも大幅に大きい
WSMAX 既定値を使用します。