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

前へ | 次へ | 目次 | 索引

## 18.6.1 Virtual I/O Cache のしくみについて

Virtual I/O Cache は，データ・ファイルおよびイメージ・ファイルを格納することができます。たとえば，ODS-2 ディスク・ファイルのデータ・ブロックは，最初にアクセスされるときに Virtual I/O Cache にコピーされます。その後，同じデータ・ブロックの読み込み要求は，この Virtula I/O Cache で満たされ (ヒット)，本来必要な物理ディスク I/O の操作 (ミス) は不要になります。

システムの負荷によって，アプリケーションのスループットが向上したり，会話型応答が向上したり，I/O 負荷が低減したりします。

注意 単一の読み込みおよび書き込み要求を開始するアプリケーションの場合には，デーがキャッシュから再読み込みされることがまったくないため， Virtual I/O Cache を使用しても利点はありません。暗黙に指定されている I/O 遅延時間に依存するアプリケーションは，強制終了したり，予想できない結果を生じたりする恐れがあります。

キャッシュがデータを操作する方法について，次のいくつのポリシーが適用されます。

- ライトスルー---すべての書き込み I/O 要求は，ディスクと同様にキャッシュにも書き込まれる。

- Least Recently Used (LRU)---キャッシュがいっぱいになると，最も以前に使用されたデータが置き換えられる。

- キャッシュされたデータはファイルを閉じた後も保存---データは，ファイルを閉じた後もキャッシュ内に残る。

- 読み込み要求や書き込み要求で割り当て---キャッシュ・ブロックは，読み込み要求や書き込み要求があると，割り当てられる。

## 18.6.2 Alpha システムでの VIOC の選択

何らかの理由により， Alpha システムで XFC ではなく VIOC を使用する必要がある場合には，次の手順に従います。

1. Sysman ユーティリティの RESERVED_MEMORY REMOVE コマンドを使用して，予約メモリ・レジストリから VCC$MIN_CACHE_SIZE のエントリを削除する。

       $ RUN SYS$SYSTEM:SYSMAN
       SYSMAN> RESERVED_MEMORY REMOVE VCC$MIN_CACHE_SIZE /NOGLOBAL_SECTION

   これにより，ステップ 4 でシステムが VIOC を使用して再ブートすると， XFC にメモリは割り当てられない。

2. VCC_FLAGS システム・パラメータを 1 に設定する。

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

4. システムを再ブートする。VCC_FLAGS が 1 であるため，スタートアップ中に，XFC ではなく VIOC が自動的にロードされる。

ステップ 1 で予約メモリ・レジストリから VCC$MIN_CACHE_SIZE エントリを削除するのを忘れた場合には， XFC がロードされていないにもかかわらず，XFC にメモリが割り当てられます。このメモリは使用されません。このような状態になった場合には， Sysman ユーティリティの RESERVED_MEMORY FREE コマンドを使用して，このメモリを解放します。

    $ RUN SYS$SYSTEM:SYSMAN
    SYSMAN> RESERVED_MEMORY FREE VCC$MIN_CACHE_SIZE /NOGLOBAL_SECTION

## 18.6.3 キャッシュのサイズの管理

VIOC のサイズを管理する方法は，使用しているシステムが OpenVMS Alpha か OpenVMS VAX かによって異なります。

OpenVMS Alpha

OpenVMS Alpha システムの場合には，VIOC のサイズは，システム・スタートアップ時に固定されます。キャッシュは縮小も拡張もできません。スタティック・システム・パラメータ VCC_MAXSIZE の値により，キャッシュのサイズがブロック単位で指定されます。省略時の値は，6400 ブロック (3.2 MB) です。

OpenVMS Alpha システムで VIOC のサイズを変更するには，次の手順に従います。

1. VCC_MAXSIZE システム・パラメータを必要な値に設定する。

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

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

OpenVMS VAX

OpenVMS VAX システムでは，スタティック・システム・パラメータ VCC_PTES を使用して，VIOC の最大サイズを指定することができます。このパラメータにより，サイズがページ単位で指定されます。省略時の値は 2,000,000,000 です。

使用しているシステムでの I/O 負荷および使用可能なメモリ量の残りに応じて， VIOC は自動的に縮小したり，拡張したりします。 I/O 負荷が増加すると，キャッシュも自動的に拡張しますが，最大サイズを超えることはありません。アプリケーションでメモリが必要な場合には，キャッシュは自動的に縮小します。

OpenVMS VAX システムで VIOC のサイズを変更するには，次の手順に従います。

1. VCC_MAXSIZE システム・パラメータを必要な値に設定する。

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

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

## 18.6.4 VIOC 統計情報の表示

DCL コマンド SHOW MEMORY/CACHE/FULL を使用すると， Virtual I/O Cache に関する統計情報を表示することができます。次に例を示します。

    $ SHOW MEMORY/CACHE/FULL
                System Memory Resources on 10-OCT-1994 18:36:12.79
    Virtual I/O Cache
    Total Size (pages)   (1)   2422    Read IO Count          (6)     9577
    Free Pages           (2)   18      Read Hit Count         (7)     5651
    Pages in Use         (3)   2404    Read Hit Rate          (8)     59%
    Maximum Size (SPTEs) (4)   11432   Write IO Count         (9)     2743
    Files Retained       (5)   99      IO Bypassing the Cache (10)     88

注意 この例は， VAX システムでの SHOW MEMORY/CACHE/FULL コマンドの出力を示しています。 Alpha システムでは，SHOW MEMORY/CACHE/FULL コマンドの出力は，多少異なって表示されます。

(1) Total Size | VIOC が現在管理しているシステム・メモリ・ページの総数を表示する。
(2) Free Pages | VIOC が管理しているページのうち，キャッシュ・データが含まれていないページの数を表示する。
(3) Pages in Use | VIOC が管理しているページのうち，有効なキャッシュ・データが含まれているページの数を表示する。
(4) Maximum Size | キャッシュが拡張できる最大サイズを表示する。
(5) Files Retained | 有効なデータがキャッシュ内に残っているため，ファイルを閉じた後もファイル・システムの管理情報が残っている，閉じられたファイルの数を表示する。
(6) Read I/O Count | 最新のシステム・ブート以降，VIOC によって確認されている読み込み I/O の総数を表示する。
(7) Read Hit Count | 最新のシステム・ブート以降，データが確認されていないため，物理 I/O を実行していない読み込み I/O の総数を表示する。
(8) Read Hit Rate | 読み込みヒット数と読み込み I/O 数の率を表示する。
(9) Write I/O Count | 最新のシステム・ブート以降，VIOC によって確認されている書き込み I/O の総数を表示する。
(10) I/O Bypassing | 何らかの理由で，キャッシュによる要求/更新を満たそうとしなかった I/O の数を表示する。

## 18.6.5 VIOC の許可

省略時の設定では，Virtual I/O Cache によるキャッシングは許可されています。キャッシングを許可したり禁止するには，次のシステム・パラメータを使用します。MODPARAMS.DAT のパラメータの値を，次のように変更します。

パラメータ | 許可 | 禁止
--- | --- | ---
VCC_FLAGS (Alpha) | 1 | 0
VBN_CACHE_S (VAX) | 1 | 0

MODPARAMS.DAT を更新して，必要なパラメータの値を変更した後， AUTOGEN を実行して，キャッシングを許可または禁止する 1 つまたは複数のノードを再ブートしなければなりません。キャッシングは，システムの初期化中に自動的に許可または禁止されます。ユーザによる操作は不要です。

## 18.6.6 VIOC が許可されているかどうかの確認

SHOW MEMORY/CACHE を使用すると，実行中のシステムで VIOC キャッシングがオンであるかオフであるかが表示されます。 (SYSGEN を使用するよりもはるかに簡単です。)

SYSGEN を使用すると，システムがブートされる前にパラメータを調べることができます。たとえば，システム・パラメータ VCC_FLAGS (Alpha) または VBN_CACHE_S (VAX) をチェックすると，SYSGEN を使用することにより， Virtual I/O Cache によるキャッシングが許可されているかどうかを知ることができます。次に Alpha システムの例を示します。

    $ RUN SYS$SYSTEM:SYSGEN
    SYSGEN> SHOW VCC_FLAGS

値が 0 の場合には，キャッシングが禁止されています。値が 1 の場合には，キャッシングが許可されています。

## 18.6.7 メモリの割り当てと VIOC

キャッシングに割り当てられるメモリは，未使用ページ・リストのサイズによって決まります。次の条件のうちいずれか 1 つがあてはまる場合には， Virtual I/O Cache のサイズは，拡張することがあります。

- 使用可能な未使用メモリの量が FREEGOAL の値の 2 倍あり，定期的にウェイクするプロセスで積極的なメモリ再生が許可されている場合

- 使用可能な未使用メモリの量が FREEGOAL の値に等しく，長時間待機しているプロセスで積極的なメモリ再生が許可されている場合

- 使用可能な未使用メモリの量が GROWLIM よりも多く，積極的なメモリ再生が許可されていない場合

キャッシュ・サイズは，次のような条件によっても制限されます。

- 使用可能なシステム・ページ・テーブル・エントリ (SPTE) の数。この数は，ブート時に決定された値によって計算される。

- メモリ管理サブシステムの需要。メモリ管理サブシステムはキャッシュに対する直接インタフェースを持っているため，必要に応じ，領域を戻すようにキャッシュに対して要求することができる。

キャッシュからのメモリ再生はどのように行われるのでしょうか。スワッパは，第 1 レベルのトリミングを使用して，Virtual I/O Cache に割り当てられているメモリを再生することができます。さらに，ヒューリスティック・プリミティブがキャッシュを縮小し，メモリを小規模な増分単位で戻します。

## 18.6.8 VIOC サイズの調整

Virtual I/O Cache のサイズは，システム・パラメータ VCC_MAXSIZE によって決まります。このパラメータによって指定されるメモリの量がシステムの初期化時に静的に割り当てられ，Virtual I/O Cache によって引き続き所有されます。

キャッシュのサイズを増やしたり減らすには，VCC_MAXSIZE を変更し，システムを再ブートします。

## 18.6.9 VIOC および OpenVMS Cluster の構成

キャッシュは，単一ノード・システムから大規模な混合インターコネクト OpenVMS Cluster システムにいたるまで，サポートされているすべての構成で動作します。 Virtual I/O Cache は，中心点に相当します。つまり，キャッシュはそれぞれの OpenVMS Cluster メンバに対してローカルな存在です。どのような基本システムも， Virtual I/O Cache によるキャッシングをサポートすることができます。このキャッシング機能を使用するために， OpenVMS Cluster のライセンスは必要ではありません。

注意 OpenVMS Cluster のメンバのいずれかでキャッシングが禁止されていると，その OpenVMS Cluster では，キャッシングはまったく実行されません (キャッシングが許可されているノードでも同様です)。この状態は，キャッシングが禁止されている 1 つまたは複数のノードでキャッシングが許可されるか，またはそのようなノードがクラスタから削除されるまで続きます。

ロック・マネージャは，キャッシュを密接に管理します。1 つのノードが OpenVMS Cluster を離れると，キャッシュはフラッシュされます。複数のノードで書き込みアクセスを持ち，複数のノードで開かれているファイルは，キャッシュされません。

# 第 19 章
UETP によるシステムのテスト

本章では，UETP (ユーザ環境テスト・パッケージ) を使って， OpenVMS オペレーティング・システムが正しくインストールされているかどうかを調べる方法について説明します。

# 19.1 概要

ここでは，UETP が何を行うか，また UETP をどのように使用するかについて説明します。さらに，テストのためのシステムの設定，テストの実行，およびトラブルシューティングについての具体的な指示を行います。

本章の内容

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

作業項目 | 参照箇所
--- | ---
UETP の実行 (要約) | 第 19.1.2 項
UETP を使用するための準備 | 第 19.2 節
テストの対象となる装置の設定 | 第 19.3 節
UETP の起動 | 第 19.4 節
UETP の動作の停止 | 第 19.5 節
トラブルシューティング---問題の識別と解決 | 第 19.7 節

さらに，次の項目について説明します。

項目 | 参照箇所
--- | ---
UETP について | 第 19.1.1 項
トラブルシューティング (概要) | 第 19.6 節
UETP テストおよびフェーズ | 第 19.8 節

## 19.1.1 UETP について

UETP は，OpenVMS オペレーティング・システムが正しくインストールされているかどうかをテストするソフトウェア・パッケージです。 UETP は，日常の使用で発生し得る要求と同等の要求をシステムに対して行うことによって，通常のユーザ環境をシミュレートする一連のテストを行います。

UETP は診断プログラムではありません。つまり，すべての機能を徹底的にテストするわけではありません。 UETP が回復不可能なエラーに遭遇せず，その実行を終えたということは，テストされたシステムが一応使用できるということを表しているだけです。

UETP は，すべての OpenVMS システムに共通な装置と機能を調べます。高水準言語コンパイラのようなオプションの機能についてはテストしません。次に，UETP がテストするシステム・コンポーネントを示します。

- ほとんどの周辺機器装置

- システムのマルチユーザ処理能力

- DECnet for OpenVMS ソフトウェア

- クラスタ単位のファイル・アクセスおよびファイル・ロック

## 19.1.2 UETP の使用方法 (概要)

この節では，UETP のすべてのフェーズを省略時の値を使用して実行する手順を要約して説明します。すでにこのテスト・パッケージを使用したことのある方は，この節を参照してください。より詳細な情報が必要な方は， 第 19.2 節 を参照してください。

注意 OpenVMS Alpha システムで UETP を使用する場合，次の手順を行う前に CREATE_SPECIAL_ACCOUNTS.COM コマンド・プロシージャを実行し， SYSTEST および SYSTEST_CLIG アカウントを作成しておいてください。 CREATE_SPECIAL_ACCOUNTS.COM コマンド・プロシージャについての詳細は， 第 7.4 節 を参照してください。

1. 次のように，SYSTEST アカウントにログインする。

       Username: SYSTEST
       Password:

   重要 SYSTEST および SYSTEST_CLIG アカウントは特権を持っているので，権限のないユーザがこのアカウントを使用すると，システムの機密保護上，問題が発生することがあります。

2. ユーザ・プログラムが実行されていないこと，およびユーザ・ボリュームがマウントされていないことを確認する。

   重要 設計上，UETP はシステム資源を排他的に使用することを想定し，また，そのように要求します。この制約を無視すると，UETP は当該資源に依存するアプリケーションに影響を与えることがあります。

3. ログイン後，すべての装置が次の状態であることをチェックする。

   - テストを行うすべての装置は，電源が入っており，システムに対してオンラインであること。

   - スクラッチ・ディスクがマウントされており，初期化されていること。

   - ディスクの中に [SYSTEST] という名前のディレクトリが OWNER_UIC=[1,7] で存在すること (DCL の CREATE/DIRECTORY コマンドを使用して作成)。

   - テストを行うすべてのドライブにスクラッチ磁気テープ・リールが 物理的に マウントされており，ラベル UETP で初期化されていること (DCL の INITIALIZE コマンドを使用)。磁気テープ・リールには，少なくとも 600 フィートのテープが入っていることを確認すること。

   - テストを行うすべてのドライブにスクラッチ・テープ・カートリッジが挿入されており，ラベル UETP で初期化されていること (DCL の INITIALIZE コマンドを使用)。

   - ライン・プリンタおよびハードコピー・ターミナルに十分な用紙が用意されていること。

   - ターミナル特性およびボー・レートが正しく設定されていること (各ターミナルのユーザ・ガイドを参照)。

   通信装置の中には弊社のサポート担当者が設定しなければならないものもあるので注意する ( 第 19.3 節 を参照)。
   UETP のための準備中になんらかの問題が発生した場合は，次に進む前に 第 19.3 節 を参照する。

4. UETP を起動するには，次のコマンドを入力し，Return を押す。

       $ @UETP

   UETP は次の質問を行う。

       Run "ALL" UETP phases or a "SUBSET" [ALL]?

   Return を押して，大括弧で囲まれた省略時の応答を選択する。 UETP は次の質問を行う。

       How many passes of UETP do you wish to run [1]?
       How many simulated user loads do you want [4]?
       Do you want Long or Short report format [Long]?

   各プロンプトに対して Return を押す。最後の質問に答えた後， UETP は一連のテストをすべて開始する。以降，完了するまで入力することはない。最後に，次のようなメッセージが表示される。

       *****************************************************
       *                                                   *
          END OF UETP PASS 1 AT 22-JUN-2000 16:30:09.38
       *                                                   *
       *****************************************************

   注意 省略時の応答を使用せずに UETP を実行する場合については， 第 19.4 節 を参照してください。ここにはオプションが説明されています。

5. UETP の実行後，ログ・ファイルでエラーをチェックする。テストが成功終了した場合， OpenVMS オペレーティング・システムは適切に動作する状態である。
   UETP が異常終了した場合は，トラブルシューティングの情報について 第 19.6 節 を参照する。

   注意 UETP の実行後，エラー・ログ・ユーティリティを実行して， UETP 実行中に発生したハードウェア障害をチェックしてください。エラー・ログ・ユーティリティの実行についての詳細は，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

前へ | 次へ | 目次 | 索引