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


前へ 次へ 目次 索引


17.11.2 予約メモリ・レジストリからのエントリの削除

次の SYSMAN コマンドを実行すると,予約メモリ・エントリを削除することができます。


SYSMAN RESERVED_MEMORY REMOVE gs_name /GROUP = n 

指定される gs_nameは,予約メモリ・レジストリから削除されるエントリに関連付けられたメモリ常駐セクションの名前です。名前を 1 つ指定しなければなりません。

/GROUP 修飾子によって指定される値 n は,削除されるメモリ常駐セクションに関連付けられた UIC グループ番号 (8 進数) です。メモリ常駐グローバル・セクションがグループ・セクションの場合, /GROUP 修飾子を指定しなければなりません。メモリ常駐グローバル・セクションがシステム・グローバル・セクションの場合, /GROUP 修飾子は指定しないでください。

ページ・テーブルが指定されたメモリ常駐グローバル・セクションのために取り置かれている場合,追加の予約メモリも削除されます。

REMOVE コマンドによって削除されるのは,予約メモリ・レジストリ・データ・ファイルのエントリだけです。実行中のシステムのメモリが影響を受けることはありません。

17.11.2.1 予約メモリの割り当て

システム初期化中に, VMS$RESERVED_MEMORY.DATA データ・ファイルが読み込まれます。

このデータ・ファイルにあるエントリごとに,そのサイズがメガバイト (MB) 単位で, RESERVED_MEMORY ADD コマンドで /SIZE 修飾子によって指定されたこのメモリ常駐グローバル・セクションのために,システムの流動ページ・カウントから差し引かれます。 /PAGE_TABLES が指定された場合,このメモリ常駐グローバル・セクションをマッピングする共用ページ・テーブルに必要な量のメモリも,システムの流動ページ・カウントから差し引かれます。

/ALLOCATE が RESERVED_MEMORY ADD コマンドで指定された場合,メモリ常駐グローバル・セクションのために,適切な大きさの物理ページも割り当てられ,取り置かれます。 /PAGE_TABLES が指定された場合,共用ページ・テーブルのために,適切な大きさの物理ページが割り当てられ,取り置かれます。これらのページには,指定されたサイズに対応する,最大粒度ヒント係数に適した物理アラインメントがあります。 /ZERO が指定された場合,それらのページは,システム初期化中にまたはシステムの空き時間にゼロになります。 /ZERO が指定されなかった場合,または /NOZERO が指定された場合,それらのページは,メモリ常駐グローバル・セクションが作成されるとゼロになります。

システム・パラメータ STARTUP_P1 が MIN に設定されると,予約メモリ・レジストリのエントリは無視され,メモリは予約されません。

システム流動ページを予約するか,隣接するアラインされた物理ページを割り当てて予約メモリ・レジストリ・データ・ファイルを処理中,システム初期化中にエラーが発生すると,エラー・メッセージがコンソールに表示され,システムはブートを続けます。

17.11.2.2 予約メモリの解放

実行中のシステムで,次の SYSMAN コマンドを実行すると,予約メモリを解放することができます。


SYSMAN RESERVED_MEMORY FREE gs_name /GROUP = n 

指定される gs_nameは,予約メモリ・レジストリから解放されるエントリに関連付けられたメモリ常駐セクションの名前です。名前を 1 つ指定しなければなりません。

/GROUP 修飾子によって指定された値 n は,解放されるメモリ常駐セクションに関連付けられた UIC グループ番号 (8 進法) です。メモリ常駐グローバル・セクションがグループ・グローバル・セクションの場合, /GROUP 修飾子を指定しなければなりません。メモリ常駐グローバル・セクションがシステム・グローバル・セクションの場合, /GROUP 修飾子を指定しないでください。

このグローバル・セクションのために,システム初期化中に物理ページが割り当て済みでなかった場合,予約メモリは単純に,システムの流動ページ・カウントに追加されるだけです。それ以外の場合,物理ページは,システムの未使用ページ・リストまたはゼロ・ページ・リストに割り当て解除されます。システムの流動ページ・カウントは,この割り当て解除されるページが含まれるように調整されます。

指定されたメモリ常駐グローバル・セクションのためにページ・テーブルも予約されている場合,共用ページ・テーブルのための予約メモリも解放されます。

予約メモリが,指定されたメモリ常駐グローバル・セクションによって使用中の場合,現在使用中でない予約メモリの量は解放されます。

RESERVED_MEMORY FREE コマンドは,予約メモリ・レジストリ・データ・ファイルの内容には影響を与えず,実行中のシステム内のメモリにのみ影響を与えます。

17.11.2.3 予約メモリの表示

予約メモリ情報は,異なる 2 か所,つまり予約メモリ・レジストリ・データ・ファイルと,このデータ・ファイルのエントリに基づいてシステムの初期化中に作成された,実行中のシステムの予約メモリ・レジストリにあります。

予約メモリに関する情報がどこにあるかによって,使用する表示メカニズムも異なります。

実行中のシステムにある予約メモリ・レジストリを表示するメカニズムには, SYSMAN ,DCL SHOW MEMORY コマンド,および SDA の 3 つがあります。

17.11.2.4 予約メモリの使用

システム・サービス SYS$CREATE_GDZRO および SYS$CRMPSC_GDZRO_64 は,内部カーネル・モード OpenVMS Alpha ルーチンを呼び出して,予約メモリ・レジストリに登録されている予約メモリを使用します。

グローバル・セクションは,予約メモリ・レジストリに登録する必要がありません。グローバル・セクション名が予約メモリ・レジストリに登録されている場合でも,グローバル・セクションのサイズは,予約メモリのサイズと正確に一致しません。グローバル・セクションが登録されていない場合,またはグローバル・セクションが予約メモリ・レジストリに登録されていても, /NOALLOCATE が指定されている場合,メモリ常駐グローバル DZR0 セクションに,フォルト・オプションが使用されます。このサイズが予約メモリよりも大きい場合,システムに十分な流動ページがないと,メモリ常駐グローバル DZR0 セクションを作成するシステム・サービス呼び出しは,失敗します。

グローバル・セクションが予約メモリ・レジストリに登録され, /ALLOCATE が指定された場合,メモリ常駐グローバル DZR0 セクションには,割り当てオプションが使用されます。グローバル・セクションのサイズは,予約され,割り当てられたメモリのサイズ以下でないと,システム・サービスの呼び出しによって,エラー SS$_MRES_PFNSMALL が戻されます。

17.11.2.5 予約メモリの復帰

メモリ常駐グローバル・セクションが削除されると,そのグローバル・セクションに使用されていた物理ページは,このグローバル・セクションに事前に割り当てられていなかった場合,未使用ページ・リストに割り当て解除されます。システムの流動ページ・カウントは,このグローバル・セクションの予約メモリ・レジストリに予約されていないページについてのみ,調整されます。

メモリ常駐グローバル・セクションが削除されると,そのグローバル・セクションに使用されていた物理ページは,このグローバル・セクションに事前に割り当てられていた場合,予約メモリ・レジストリに戻されます。これらの物理ページは未使用ページ・リストに割り当て解除されず,予約されたまま残ります。システムの流動ページ・カウントは,まったく調整されません。

RESERVED_MEMORY FREE コマンドから SYSMAN ユーティリティを使用した場合,予約メモリは,実行中のシステムについてのみ解放されます。

注意

パーマネント・グローバル・セクションは, SYS$DGBLSC を呼び出し,グローバル・セクションへの最後の参照が実行された時点で削除されます。非パーマネント・グローバル・セクションは,単にグローバル・セクションへの最後の参照が実行された時点で削除されます。

17.11.3 アプリケーションの構成

メモリ常駐グローバル・セクションを使用する OpenVMS Alpha アプリケーションは,次のステップを実行します。

  1. SYSMAN RESERVED_MEMORY ADD コマンドを実行して,予約メモリの使用が必要であることを指定する。

  2. AUTOGEN を実行して,システムの流動ページ・カウントを適切に設定し,システムのページ・ファイル,プロセスの数,および最大ワーキング・セット・サイズが適切に設定されるようフィードバックする。

  3. システムをリブートして,予約メモリがシステムの流動ページ・カウントから差し引かれ,隣接するアラインされたページが必要に応じて割り当てられ,ゼロにされるようにする。


第 18 章
ファイル・システムのデータ・キャッシュの管理

本章では,XFC (Alpha のみ) および Virtual I/O Cache(VIOC) を管理する方法について説明します。これらは, Files-11 ファイル・システムが ODS-2 および ODA-5 ボリュームのデータをキャッシュするときに使用します。

本章の内容

本章では,次の作業について説明します。

作業 参照箇所
クラスタ全体でのキャッシングの禁止 第 18.3 節
キャッシングを禁止した状態でのボリュームのマウント 第 18.4 節
Extended File Cache (Alpha のみ) の管理 第 18.5 節
Virtual I/O Cache の管理 第 18.6 節

本章では,次の概念について説明します。

概念 参照箇所
キャッシング 第 18.1 節
ファイル・システムのデータ・キャッシュ 第 18.2 節

18.1 キャッシングについて

Files-11 ファイル・システムは,性能を向上させるために, キャッシング と呼ばれるテクニックを使用します。 Files-11 ファイルは,ディスクから最近読み込んだり,ディスクに書き込んだりしたデータのコピーを, キャッシュ と呼ばれる,メモリの領域に保持しています。

アプリケーションがデータを読み込むときに,ファイル・システムはデータがキャッシュにあるかどうかをチェックします。データがキャッシュにない場合には,I/O を実行して,ディスクからデータを読み込みます。

キャッシングは,読み込み性能を向上させます。メモリ (キャッシュ) からデータを読み込む方が,ディスクから読み込むよりもはるかに速いためです。

ハードウェア I/O サブシステムおよび OpenVMS には,キャッシングのいくつかのレベルがあります。一般的に,キャッシングのレベルが多いほど,データにアクセスする応答時間が短くなります。

18.2 ファイル・システムのデータ・キャッシュについて

ODS-2 ボリュームと ODS-5 ボリュームの場合には, Files-11 ファイル・システムに複数のキャッシュがあります。ファイル・ヘッダなどファイルのメタデータのための メタデータ・キャッシュと,ファイル・データのための データ・キャッシュです。 Files-11 は,次に示す 2 つのシステム全体のデータ・キャッシュのうち,いずれか 1 つを使用できます。

ファイル・システムのデータ・キャッシュ 説明
Virtual I/O Cache (VIOC) 元からあるデータ・キャッシュで, VAX および Alpha システムで使用できる。
Extended File Cache (XFC) OpenVMS Alpha バージョン 7.3 以降で使用でき, OpenVMS Alpha でのみ使用できる。VIOC よりも優れた性能とより多くの機能を提供する。 XFC は,OpenVMS Alpha バージョン 7.3 以降での省略時のキャッシュである。

本章では,データ・キャッシュを管理する方法について説明します。メタデータ・キャッシュの管理方法については,『OpenVMS Performance Management』を参照してください。 RMS は,データ・キャッシングを実行できるローカル・バッファおよびグローバル・バッファを利用することに注意してください。省略時の設定では,このキャッシングは許可されていません。 RMS のローカル・バッファおよびグローバル・バッファを操作すると, I/O 性能に影響を与える恐れがあるためです。 RMSのローカル・バッファおよびグローバル・バッファの管理方法については,『Guide to OpenVMS File Applications』を参照してください。また,変更ページ・リストは,キャッシュの一種であるため,ページはプロセスのワーキング・セットに戻され,ディスクには出力されないことにも注意してください。

XFC および VIOC は共に, OpenVMS Cluster 内で一貫性のあるデータを保守する仮想ブロック・キャッシュです。これらは,データ・ファイルとイメージ・ファイルの両方をキャッシュします。 データ・キャッシュは,ライトスルー・キャッシュです。アプリケーションがデータをファイルに書き込むと,データは直接ディスクに書き込まれます。アプリケーションは,ディスク I/O が完了し,データがディスクに書き込まれるまで,待たなければなりません。

OpenVMS Cluster では,さまざまなノードがさまざまなデータ・キャッシュを使用することができます。このため,混合アーキテクチャ・クラスタの場合には, XFC による利点が生じます。 OpenVMS Alpha ノードは,XFC または VIOC を使用することができます。 OpenVMS VAX ノードは, 第 18.5.6 項 で説明しているように, VIOC だけを使用することができます。

XFC は,I/O 性能を向上させ, VIOC では使用不可能な次のような機能を持っています。

18.3 クラスタ全体でのキャッシングの禁止

システム・スタートアップ時に,スタティック・システム・パラメータは,ファイル・システムがデータ・キャッシュを使用するかどうか,使用する場合には,どちらのデータ・キャッシュ (XFC または VIOC) を使用するかを制御します。システム・パラメータは,次の表に示すようにオペレーティング・システムによって異なります。

オペレーティング・システム システム・パラメータ 使用可能 使用不可
OpenVMS Alpha VCC_FLAGS 1 または 2 (省略時の設定) + 0
OpenVMS VAX VBN_CACHE_S 1 (省略時の設定) 0


+1 で VIOC を選択,2 (省略時の設定) で XFC を選択します。

OpenVMS Cluster では,ファイル・システムのデータ・キャッシングを 1 つのノードで使用不可に設定すると,クラスタ全体でも使用不可になります。クラスタの他のノードは,そのノードがクラスタから離脱するか, VCC_FLAGS または VBN_CACHE_S を 0 以外の値に設定して再ブートしないと,XFC または VIOC を使用できません。 DCL コマンド SHOW MEMORY を使用すると,キャッシングが使用可能になっているかどうかを確認することができます。

クラスタ全体でキャッシングを禁止するには, OpenVMS Cluster のいずれかのノードで次の手順を実行します。

  1. MODPARAMS.DAT を使用して,対応するシステム・パラメータ (VCC_FLAGS または VBN_CACHE_S) を 0 に設定する。

  2. AUTOGEN を実行して,他のシステム・パラメータもこの新しい値を使用できるようにする。これは必須の作業ではないが,実行しておくことが望ましい。

  3. システムを再ブートして,新しい値を有効にする。


前へ 次へ 目次 索引