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