[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]
本章では,性能管理の基本概念を紹介します。詳細は『Guide to OpenVMS Performance Management』を参照してください。
本章では,次の作業を説明します。
作業 | 参照箇所 |
---|---|
作業負荷の把握 | 第16.2節 |
作業負荷管理方針の選択 | 第16.3 節 |
作業負荷の配分 | 第16.4節 |
チューニングが必要な時期の予測 | 第16.6節 |
チューニングの評価 | 第16.7節 |
性能オプションの選択 | 第16.8節 |
インストール・ユーティリティによるイメージのインストール(INSTALL) | 第16.9節 |
さらに,次の項目について説明します。
項目 | 参照箇所 |
---|---|
性能管理 | 第16.1 節 |
システム・チューニング | 第16.5節 |
イメージと既知イメージ | 第16.9.1項 |
既知のファイル・ リスト | 第16.9.2項 |
既知イメージの属性 | 第16.9.3 項 |
性能管理とは,現在の作業負荷のハードウェアとソフトウェアの資源を最適化することです。 この仕事には,いくつかの異なる,しかし互いに関連する作業が伴います。
システムの正常時の作業負荷と動作を把握することは,システム管理者が性能を評価するときに最も重要なことの1 つです。各システム管理者は, システムの作業負荷を十分に把握し,次の項目を確認してください。
OpenVMSオペレーティング・システムの管理が初めての方は,システム動作を監視する際に次のツールを利用するといいでしょう。
『Guide to OpenVMS Performance Management』(VAXシステムの場合),および『Guide to OpenVMS AXP Performance Management』(Alphaシステムの場合)には,MonitorユーティリティなどのOpenVMS ツールを使ったシステムの性能の監視と評価の手順が詳しく説明されています。 また,『OpenVMSシステム管理ユーティリティ・リファレンス・マニュアル』には, Monitor ユーティリティの使用に関する参照情報が記述されています。
時間の経過とともに,システムの典型的なページ・フォルト率,典型的なCPU 使用量,正常時のメモリ使用量,典型的な動作モードといった,性能を示す基準値が把握できます。 また,特定の処理がシステムの性能にどのように影響するか, ユーザ数や時刻によって,システムの性能のどの部分にどのような影響が出るかが分かり始めます。
システムの監視を続けるうちに,許容できる値の範囲を理解できるようになり, 同じツールでより効果的に異常を検出できるようになります。性能の管理を効果的に行うためには, システムを定期的に評価することが重要です。 問題を避ける最良の方法は,それを予測することです。問題が大きくならないうちに, システムがどのように動作しているのかを把握するように努めてください。
Monitorユーティリティと会計情報ユーティリティを使って重要なデータ項目を定期的に分析すれば, システムの動作をより理解できます。また, これらのデータの収集と観察を続けることによって,使用量の傾向が分かり, システムがいつその限界に達するかを予測することができます。
さらに,システム管理用のツールによってもシステム資源が使用されるということを知っておきましょう。 計測する項目やデータ収集の頻度を決めるときには, そのことに十分注意してください。ツールを過度に使用すると, データの収集,保存,分析によって資源が使用されるために,システムの作業負荷と容量を正しく認識できなくなることがあります。 データの収集と分析は, 事前に計画をたてた上で,その計画に従って実行するようにしてください。
システムの性能は作業負荷管理の効率に比例して上下します。作業負荷を管理するための方針は, 各システムで独自に決定する必要があります。システムの設定値を調整する前に, 次の点を必ず解決してください。
負荷のバランスを少しでも改善できるように各ユーザに協力してもらうのも1 つの方法である。
ユーザおよびアプリケーションを追加あるいは削除したときには,このことを必ず検討し, 適切なバランスを保つ必要がある。
コード共用機能を利用すれば,メモリの使用量を抑えて,システムの性能を向上させることができる。
システムの稼働時間全体に渡って,作業負荷をできるだけ均等に配分してください。 ただし,サイト別の作業スケジュールをたてると,会話型ユーザを最適な時間に割り当てることがむずかしくなる場合もあります。 次の方法を参考にしてください。
大型のジョブはできるかぎりバッチにしてキューに登録する,という方針をたてる。 バッチ・ストリームの数を制御して,会話形式のジョブが少ないときにバッチ型のジョブが多くなるようにする。 また,DCL コマンドの修飾子を利用して,バッチ・ジョブを低い優先順位で実行したり, ワーキング・セットのサイズを調整したり,同時に実行できるジョブの数を制御したりする方法もある。 バッチ環境の設定方法については, 第13.2.1項を参照。
一度にログインできるユーザの数を,システムが適切な応答時間でサポートできる数に制限する。 会話型ユーザの数は,DCLのSET LOGINS /INTERACTIVEコマンドによって制限できる。また,同時に実行できるプロセスの数は, システム・パラメータMAXPROCESSCNTを使って制御できる。 システムに同時にアクセスできる遠隔ターミナルの数は,システム・ パラメータRJOBLIMを使って制御できる。システム・パラメータの変更方法については, 第14.5 節を参照。『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』では, すべてのシステム・パラメータについて解説している。
さらに,ユーザをグループに分け,各グループがシステムを使用する日あるいは時間帯を制限することもできる。AUTHORIZE ユーティリティを使用すれば, 各ユーザがログインできる時間帯を定義できる。 具体的には,AUTHORIZEの修飾子/PRIMEDAYSを参照。 詳細は,第6章,および『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』のAUTHORIZEの節を参照。
DCLのSET DAYコマンドによって,主曜日および副曜日の設定を変更できる。 たとえば,主曜日が休日のときはそれを副曜日として指定する必要がある。
システムのボトルネックが現在どこにあるか,あるいは近い将来どこに発生するかを把握し, ボトルネックとなる資源の必要量を最小限に抑えるようにアプリケーションの導入計画をたてれば, 作業負荷をより均等に配分することがでる。 『Guide to OpenVMS File Applications』を参照。
チューニングとは,さまざまなシステム設定値を変更することによって, 特定の構成および作業負荷からシステム全体としての性能を向上させることです。 メモリや装置を適切な時期に増設すれば,ほぼ確実にシステムの性能を大幅に向上させることができます。 しかし,そのようなシステム構成の変更は, チューニングとは異なります。
ほとんどのシステムでは,作業負荷は常に変化しています。ある瞬間には最高の性能が得られても, 次の瞬間に作業負荷が変化し,同じシステム・ パラメータの設定でも,最高の性能が得られなくなることがあります。チューニングの最終目標は, システム全体としてベストな性能が平均的に得られる値を見つけることです。
性能に影響する問題の中には,次に示すように,システム設定値を調整しても解決できないものもあります。 作業を始める前に,これらの問題が実際にないかどうか調べる必要があります。
チューニングを行う場合,動作を注意深く分析し,値を変更する項目の数をできるだけ少なくします。 システム資源は,次の2つのタイプのパラメータの値を調整することにより制御します。
パラメータ・ タイプ | 説明 |
---|---|
システム・ パラメータ | システム・パラメータに設定した値により,
システム全体としてのシステム資源が制御される。AUTOGENコマンド・
プロシージャは,システム構成のデータに従ってシステム・パラメータ値を自動的に設定する。
さらに,稼働中のシステムからのフィードバックを記録し,
システムの作業負荷に基づいて,パラメータ値を調整することができる。
必要な調整を行うためのパラメータと新しい値の選択方法については,
『Guide to
OpenVMS Performance Management』(VAXシステムの場合),および『Guide to OpenVMS AXP Performance
Management』(Alphaシステムの場合)を参照。
『Guide to OpenVMS Performance Management』では,必要な変更を行うためのパラメータと新しい値の選択方法について説明します。 AUTOGENを使用して,システム・パラメータ値を変更する方法については, 第14.5節を参照。 |
UAF制限とクォータ | 利用者登録ファイル(UAF)レコードの制限とクォータに設定されている値により, ユーザごとのシステム資源が制御される。これらの値を制御するには,AUTHORIZE ユーティリティを使用する。詳細は第6.11節を参照。 |
チューニングを始める前に『Guide to OpenVMS Performance Management』(VAXシステムの場合),または『Guide to OpenVMS AXP Performance Management』(Alphaシステムの場合)を参照し,OpenVMSがどのように資源を管理しているか理解してください。 また,各システム値の性格も理解しておく必要があります。 これらが十分理解されていないと,結果としてシステム全体の性能を大幅に低下させてしまうことがあります。
OpenVMSシステムでチューニングが必要になることはほとんどありません。AUTOGEN コマンド・プロシージャが,システム構成に依存するすべてのパラメータを実際の構成に適合するように自動的に設定するからです。 AUTOGENについての詳細は,第14.4節を参照してください。
また,限定されますが,システムにはシステムの動作中にシステム自身を動的に調整する機能が備えられています。 非ページング動的プール,ワーキング・ セットのサイズ,空きページ・リスト,および変更ページ・リスト上のページの数といった特定の領域に関して, 必要に応じて自動的に調整を行います。 したがって,これらの値はシステムの動作中に動的に変化することがあります。
システムの性能が満足できない場合,その原因の多くはハードウェアの容量不足です。 システムに対する要求がその能力を超えてしまうと,システム設定値を調整しても性能が大幅に向上することはありません。 そのような調整は, 既存の資源のトレード・オフすなわち一時しのぎにすぎないからです。
しかし,チューニングの必要がまったく無いわけではなく,特に次の条件を満たす場合にはチューニングが必要になることがあります。
システムのチューニングを実施した場合,その後のシステム動作を監視して, 期待した結果が得られたかどうかを調べてください。MONITORユーティリティおよびDCL のSHOWコマンドを利用します。SHOWコマンドについての詳細は, 『OpenVMS DCLディクショナリ』を参照してください。MONITOR コマンドの使用法については, 第18.8.2項を参照してください。 また,MONITOR コマンドについての詳細は,『OpenVMSシステム管理ユーティリティ・リファレンス・ マニュアル』を参照してください。
たとえば,何度実行しても結果が同じであると考えられるいくつかのプログラムを, 通常の作業負荷状況で実行します。チューニングの前後にほぼ同じ作業負荷のもとでこのプログラムを実行してその動作時間を計測すれば, 比較のための基準が分かります。
しかし,この方法では作業負荷がほぼ等しい条件のもとで計測をしないと意味がありません。 また,このテストだけではチューニングの成否を最終的に判断することはできません。 調整した項目が計測対象のイメージだけに好結果をもたらし, 他の部分には悪影響を与えている可能性もあるからです。 したがって,どのような場合でもシステムの変更後しばらくは,システムの動作をよく観察してください。
次に,オプションとして選択することができるシステム管理操作を示します。 通常,これらの操作はインストール後に行われ,その結果,多くの場合には全体的な性能が向上します。 実際のシステム環境に合ったオプションを選択してください。 すべてのオプションがどの環境にも適しているとはいえません。
OpenVMSオペレーティング・システムに付属するライブラリのほとんどは, ディスク使用量を抑えるために圧縮されたままになっている。圧縮されたライブラリはアクセスのたびに復元されるため, リンク動作やオンライン・ ヘルプを呼び出すときに,特に性能の低下が目立つ。 ディスク容量に余裕がある場合には,ライブラリをあらかじめ復元しておくと,CPU パワーおよび応答時間の両方が向上する。復元する場合には,SYS$UPDATE:LIBDECOMP.COM コマンド・プロシージャを呼び出す。 オブジェクト・ライブラリを復元すると,圧縮時よりも25 %多くのディスク空間が必要になる。 ヘルプ・ライブラリを元に戻すと,圧縮時よりも約50 % 多くのディスク空間が必要になる。
ハイウォータ・マークとは,ボリュームの初期化時,各ユーザが自分で書き込んでいないデータの読み込みを不可能にする機密保護機能で, 省略時の値として設定されている。
非共用順次ファイルの場合,ハイウォータ・マークが性能に与える影響は最小限に抑えられる。 ただし,非順次形式のファイルの場合,ハイウォータ・ マーク処理により,オーバヘッドがかかる。ファイルが作成されたり拡張されたりするたびに, 割り当てられるディスク・ブロックの以前の内容が削除される。
この機能を無効にすることでシステムの性能がどのくらい向上するかは, 次の要因によって決まる。
ハイウォータ・マーク機能を無効化する場合は,その前に機密保護上の問題がないかどうか考慮すること。
ハイウォータ・マークを無効にするためには,ボリュームを初期化するときに/NOHIGHWATER 修飾子を指定する。あるいは,まず,DCLのSET VOLUMEコマンドを次の形式で実行する。
SET VOLUME/NOHIGHWATER_MARKING 装置指定[:]
ファイルの拡張はマルチブロック数(省略時の値は16)の2倍単位で行われるので, 省略時の設定では,ディスクのクラスタ・サイズに最も近くなるまで32 ブロックずつ拡張される。したがって,ファイルが作成または拡張された場合, 入出力動作が増えるたびに応答速度が低下することがある。 この問題は,ファイル拡張パラメータの値を大きくするか, システム・パラメータRMS_EXTEND_SIZE を設定すれば解決する。システム・パラメータの変更方法については, 第14.5節を参照。システム・ パラメータの一覧については,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』を参照。
ファイル拡張の詳細については,『Guide to Creating OpenVMS Modular Procedures 』を参照。
複数のプロセスからルーチン単位で同時にアクセスされるイメージは,INSTALL ユーティリティで修飾子として/OPEN,/SHARED,および/HEADER_RESIDENT を指定してインストールする。そうすれば,すべてのプロセスがそのイメージの同じ物理コピーを使用し, そのイメージが最も効率的な方法で起動されるようになる。
通常,修飾子/OPEN,/HEADER_RESIDENT,および/SHAREDを付けてインストールすると, イメージにはおよそ2つの物理ページが追加される。INSTALL ユーティリティのLIST/FULLコマンドを使用すると, /SHARED修飾子を使ってインストールされたイメージへの最大同時アクセス数が示される。 この値は,イメージのインストールがメモリの効果的な使用につながっているかどうかの判断に役立つ。
イメージのインストールについては,第16.9.11 項と,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』のINSTALL の節を参照。
これはCPUとメモリのどちらをとるかという問題になる。/RESIDENT修飾子を付けてイメージをインストールするということは, コードがページングされないということを意味する。 共用イメージの量によって, メモリが増えることも減ることもあり得る。
頻繁にアクセスされるファイル(以下に例を示す)をシステム・ディスクから移動し, 論理名を使用して記憶位置あるいは必要であれば他のポインタを指定する。
以上のシステム・ファイルの論理名を再定義する場合は,サイト別コマンド・ プロシージャSYS$MANAGER:SYLOGICALS.COMを変更する。SYLOGICALS.COM で論理名を定義する方法については,第5.2.5項を参照。
ページングやスワッピングの動作をシステム・ディスクからアクセス頻度の低い別のディスクに移すのも, システム・ディスクの入出力を軽減する方法の1 つである。その場合は,移動先のディスクに大きな2 次ページ・ファイルおよび2次スワップ・ファイルを作成する。 しかし,システム障害を診断するためのクラッシュ・ダンプを保存したい場合は, システム・ディスク上のシステム固有のディレクトリSYS$SPECIFIC:[SYSEXE] にダンプ・ファイルを格納する。 SYS$SPECIFIC:[SYSEXE]にダンプ・ファイルが存在しない場合,クラッシュ・ ダンプを保存するためには1次ページ・ファイルが必要になる。 ページ・ファイルおよびスワップ・ファイルの移動方法については, 第15.15節を参照。
Installユーティリティ(INSTALL)は,イメージに関する情報をメモリに格納します。INSTALL は次の目的で使用します。
目的 | 参照箇所 |
---|---|
同時に使用されるイメージが消費するメモリを節約する | 第16.9.7項 |
システム性能を向上させる | 第16.9.5 項 |
++Alphaシステムにおいて,共用アドレス・ データのあるイメージを使用することで性能を向上させる | 第16.9.6項 |
拡張特権が必要な実行可能イメージを一般的に利用可能にする | 第16.9.8.1 項 |
非特権イメージが,共用イメージの特権機能を呼び出せるようにする | 第16.9.8.2項 |
強要イメージが特権実行可能イメージにより起動できるように保護マークを付ける | 第16.9.9 項 |
++ Alphaのみ |
サイト別スタートアップ・コマンド・プロシージャSTARTUP.COMにより, システム・ブート時にINSTALLを使用していくつかのシステム・プログラムがインストールされます。 それ以外のプログラムを必要に応じてインストールする場合は,INSTALL を使用します。
このようにメモリにインストールして使用するイメージ(インストール済みイメージ) は,システムの再ブートのたびにインストールしなおす必要があります。 そのため,サイト別スタートアップ・コマンド・プロシージャSYSTARTUP_VMS.COM に必要なINSTALLコマンドを追加します。詳細は第5.2.7項を参照してください。
Installユーティリティ(INSTALL)は,/NOTRACEBACK修飾子でリンクされたイメージだけをインストールします。
INSTALLコマンドの機能はSYSGENユーティリティのINSTALLコマンドと異なる点に注意してください。
次に,インストール済みイメージの概念とInstallユーティリティの使用法を説明します。
イメージとは,実行可能プログラムを形成するためにLinker ユーティリティによって結合されたプロシージャとデータの集まりです。 実行可能イメージはプロセス内で,あるいはコマンド・ライン・インタプリタ(CLI) または$CREPRCシステム・サービスによって,実行できます。通常, 実行可能プログラムのファイル・タイプは.EXEです。
イメージには次の3つのタイプがあります。
イメージ・ タイプ | 説明 |
---|---|
実行可能 | リンカで/EXECUTABLE修飾子を指定して( あるいは/SHAREABLE修飾子を指定しないで)リンクされたイメージ。 詳細は『OpenVMS Linker Utility Manual』を参照。 |
共用可能 | Linkerユーティリティで/SHAREABLE修飾子を指定してリンクされたイメージ。 共用可能イメージは,別のファイルのリンクの入力ファイルとして, 暗黙的あるいは明示的に指定できることから, リンク可能イメージと呼ばれることもある。共用可能イメージは, それにリンクする実行可能イメージにはコピーされない。したがって, リンク実行可能イメージの数に関わらず,ディスク上には共用可能イメージが1 つだけ存在すればよい。詳細は『OpenVMS Linker Utility Manual』を参照。 |
システム | オペレーティング・ システムの制御のもとで実行しないイメージ。スタンドアロン動作だけを目的とする。 システム・イメージの内容と形式は,共用可能イメージおよび実行可能イメージと異なる。 詳細は『OpenVMS Linker Utility Manual』を参照。 |
INSTALLによってイメージをインストールすると,そのイメージには属性が割り当てられ, システムにとって「既知」のものになります。このため, インストール済みイメージは既知イメージとも呼ばれます。
イメージ・アクティベータは,既知イメージを優先するために,検索リストを2 つのパスで処理します。検索リストの1回目の検索で,イメージ・アクティベータは既知ファイルとしてイメージを探します。 必要な場合,検索リストの2 回目の検索で,イメージ・アクティベータはディスク上でイメージを探します。
システムは,既知イメージを既知ファイル・エントリと呼ばれる内部データ構造に定義します。 各エントリは,インストールされたイメージの名前と, インストール時に割り当てられた属性を示します( インストール済みイメージの属性についての詳細は,第16.9.3項を参照してください)。
既知ファイル・エントリは,システムが稼働している間だけ存在します。 システムがシャットダウンしたり,何らかの理由で異常終了した場合には, システムの再ブート後にすべての既知イメージを再インストールする必要があります。
INSTALLコマンドに修飾子を指定すれば,既知イメージに属性を割り当てることができます。 表 16-1に,既知イメージに割り当てることができる属性と使用される修飾子を示します。
属性 | 説明 | 修飾子 |
---|---|---|
ヘッダ常駐 | イメージ・ ファイルのヘッダ(ネイティブ・イメージのみ)がメモリに常駐したままとなるため, ファイルに1回アクセスするために行われるディスク入出力が1 回少なくなる。ヘッダが1ブロックだけで構成される場合,1つのファイルあたり512 バイトのページング動的メモリが使用される。ヘッダが複数のブロックで構成される場合,1 つのファイルあたりのメモリ消費量はヘッダのブロック数によって異なる。 ヘッダ・オープンとしてインストールされたイメージは, 暗黙的に永久オープンとしてインストールされる。 | /[NO]HEADER_RESIDENT |
永久オープン | イメージ・ ファイルはオープンしたままとなる。そのため,そのイメージへのアクセスには, ファイル・システムを呼び出す必要がない。 | /OPEN |
特権 | イメージにこの属性を割り当てると,そのイメージを実行するすべてのプロセスに一時的に強い特権が割り当てられ, イメージの実行中には利用者登録ファイル(UAF) で指定された特権の制限を超える処理を行うことができる。 したがって,通常の特権を持つユーザでも,通常より上の特権が必要となるプログラムを実行できる。 この属性(およびそれを作成するための/PRIVILEDGED 修飾子)は,実行可能イメージだけに適用できる。 | /PRIVILEGED[=(privilege,...)] |
保護 | イメージが起動されると, そのイメージのアドレス領域は,ユーザ・モードのコードによる変更から保護される。 このことは,カーネルまたはエグゼクティブ・ モードで実行する共用可能コードには重要である。 | /PROTECTED |
++常駐 | Alphaシステムの場合,イメージのコードまたは読み込み専用のデータは, メモリのシステム領域に永久に常駐される。このため,変換バッファ(TB) のミス率を減らすための特殊なページ・マップを使用することで性能が向上する。 常駐属性は,/SECTION_BINDING=(CODE,DATA) 修飾子にリンクされた共用可能イメージまたは実行可能イメージに適用される。 | /RESIDENT |
共用 | イメージの読み込み専用セクションおよび参照時にコピーを行わない読み書き用セクションは, 複数のユーザから同時にアクセスできる。したがって,そのようなセクションは物理メモリに1 つだけ存在すればよい。一方,参照時にコピーを行うセクションは, それにアクセスする各プロセスごとに必要となる。 共用イメージは,暗黙に「永久オープン」として宣言される。 | /SHARED |
書き込み可能 | 共用されている参照時にコピーを行わない書き込み可能セクションが物理メモリから削除される場合( ページング機構により, あるいはそのセクションを参照するプロセスがないために) ,そのセクションは同時にイメージ・ファイルに書き戻される。 したがって,このセクションに行われた更新は保存され,初期値は失われる。 このイメージは同時に「共用」としても宣言されなければならない。 | /WRITABLE |
++ Alphaのみ |
次の条件を満たすイメージがインストールの対象となります。
ファイルをインストールするとページング動的メモリなどのシステム資源が必要になります。 したがって,システム性能を向上させ,サイトの要件を満たすファイルをインストールします。INSTALL のLISTコマンドを利用すれば, イメージをインストールすることによって得られる利点を評価できます。 たとえば,各イメージがアクセスされた回数を計算し,同時に行われているアクセスの数を示します。 これらの値から,各イメージにオーバヘッドの価値があるかどうかを判断できます。
頻繁に実行されるイメージをインストールすることにより,イメージの起動性能を向上できます。 イメージの起動性能は,プログラムがインストールされている場合に向上しますが, これは,オペレーティング・システムがインストール済みファイルをファイル名ではなく, ファイルIDでオープンし, ディレクトリ操作が省略されるためです。
ヘッダ常駐としてイメージをインストールすると,システムがイメージ・ ヘッダをメモリに読み込む場合のI/O操作のオーバヘッドを防止するため, 起動性能がさらに強化されます。
ヘッダ常駐としてイメージをインストールするためには,インストール時に/HEADER_RESIDENT 修飾子を指定します。/HEADER_RESIDENTを指定すると, イメージ・ファイルのヘッダが永久常駐し,ディスクI/Oを減少させます。/HEADER_RESIDENT 修飾子が指定されると,イメージは暗黙的に永久オープンになります。
イメージ・ヘッダは,ページング動的メモリに格納されます。イメージ・ ヘッダのサイズはさまざまです。
頻繁にアクセスする重要なイメージは,オープンされたイメージとしてインストールすることができます。 イメージを「永久オープン」としてインストールするためには, インストール時に/OPEN修飾子を指定します。イメージ・ ファイルはオープンしたままになるため,そのイメージへのアクセスには, ファイル・システムを呼び出す必要がなくなります。イメージ・ ファイルを永久オープンにしておくには,1ファイルごとに,約512バイトの非ページング動的メモリが必要になります。
OpenVMS Alphaシステム上で共用アドレス・データを使用すると,次のときに性能が向上します。
詳細については,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』のINSTALL項を参照してください。
共用アドレス・データに関連する項目について,次で説明します。
1つのイメージは,いくつものイメージ・セクションから構成されている。1 つのイメージ・セクションには,次のものが含まれる。
次のコマンドを使用すると,イメージを共用既知イメージにすることができる。
$ INSTALL ADD イメージ名 /SHARED
このコマンドを入力すると,Installユーティリティは読み込み専用イメージ・ セクション用にグローバル・セクションを作成し,イメージを実行するすべてのプロセスがこのセクションを共用できるようにする。
イメージ・セクションの一種にはアドレス・データを含むものがある。 アドレス・データ・セクションは実行時には読み込み専用になる。 ただし,これらのアドレスはイメージの起動までは未知のものである。 このため,イメージ・セクションは,イメージ起動の最後までは読み込み/ 書き込みが可能である。共用イメージ用のアドレスは,マップされたイメージをさまざまなプロセスが独自に集める傾向があるので, 一般に,プロセスによってさまざまである。
共用アドレス・データの機能は,P1イメージ・セクションにある共用イメージに対して, 独自のP1空間アドレスを割り当てる (IMGREG_ PAGESシステム・パラメータがP1空間のサイズを決定する)。 割り当てられたアドレスによって,Install ユーティリティは,イメージをインストールする際に, アドレス・データ・セクションの内容を判断する。 それぞれのアドレス・データ・イメージ・セクションに対して, 共用アクセスができるように,グローバル・セクションが作成される。
実行可能な(メイン)イメージも,共用アドレス・データ・セクションを使用できる。 ただし,これらのイメージはP1アドレスには割り当てられない。 その理由は,実行可能なイメージの基底アドレスは,イメージがリンクされるときに判断されるためである。
OpenVMSソフトウェア製品の一部である多くのイメージは,共用アドレス・ データを伴う共用既知イメージとしてインストールされています。これによって, システム管理者が特に何かを行わなくても,性能は向上します。
システム管理者は,共用アドレス・データ付きで追加のイメージをインストールするように決定することもあります。 これを考慮する際,アプリケーションの共用イメージに対する依存性を調査する必要があります。
通常,複数のプロセスから同時に実行されるイメージをインストールすることにより, 物理メモリを節約できます。イメージをインストールしていない場合, または共用属性を付けずにインストールした場合には,イメージを実行する各プロセスは, メモリ内のプライベート・セクションを必要とします。 共用イメージは,コードのコピーが1つだけ常にメモリに存在し, 多くのユーザーが同時にそのコードにアクセスできるため,物理メモリを節約できます。 イメージを共用イメージとしてインストールする場合には, /SHARED 修飾子を使用します。
共用属性を付けてイメージをインストールする場合は,パーマネント・システム・ グローバル・セクションが作成されます。参照時にコピーを行わないグローバル・ セクションを実行するときは,物理メモリに必要なコピーはセクションあたり1 つだけです。このことは,そのセクションを持つイメージを実行するプロセスの数には影響されません。
共用属性付きでインストールできるイメージの数は,システム・パラメータGBLPAGES およびGBLSECTIONSによって制限されます。これらのシステム・ パラメータについては,『OpenVMSシステム管理ユーティリティ・リファレンス・ マニュアル』を参照してください。
イメージを拡張特権環境で実行できるようにするためには,次の2つの方法があります。
INSTALLコマンドのCREATEまたはREPLACEに,/PRIVILEGED修飾子を指定する。
INSTALLコマンドのCREATEまたはREPLACEに,/PROTECTEDおよび/SHARED 修飾子を指定する。
特権を持たないプロセス(非特権プロセス)でも,特権イメージとしてインストールされた実行イメージの特権付き機能を利用することができます。 そのためには,/PRIVILEGED修飾子を指定して,該当する実行可能イメージを拡張特権付きでインストールします。 そのようなイメージ(実行可能イメージのみ) を実行するプロセスには強い特権が一時的に割り当てられ, イメージの実行中に利用者登録ファイル(UAF)で定義された特権の制限事項を超える動作ができます。 したがって,通常の特権を持つユーザでも, 通常より高い特権が必要なプログラムを実行できます。
特権付きでインストールされたイメージから共用可能イメージなどの他のイメージを起動する場合には, そのイメージを特権イメージにリンクしたり,LIB$FIND_IMAGE_SYMBOL を使用して,次の条件を満たす必要があります。
特権付き共用可能イメージとは,内部(エグゼクティブまたはカーネル)モードで実行するエントリ・ ポイントが定義された共用可能イメージです。 共用可能イメージの内部モードのエントリ・ポイントは,ユーザが作成したシステム・ サービスとして扱われます。
特権付き共用可能イメージを作成する場合,次の作業が必要です。
特権付き共用可能イメージの作成についての詳細は,『OpenVMS Programming Concepts Manual』を参照してください。
プロセスが,次のいずれかの動作を行う場合は,イメージ・アクティベータが制限付きの操作モードに入ります。 これは,特権プログラムが実行されている場合に操作モードに入ったときと同様です。
この操作モードには,次の制限があります。
/EXECUTE_ONLY 修飾子は,実行可能イメージに対してのみ有効です。
この制限により,特権コンテキストで実行されている共用可能イメージが保護され, 期待通りの動作が保証されます。
INSTALLの各コマンドを使用する場合,そのファイル指定には既存の実行可能イメージあるいは共用可能イメージを指定する必要があります。 OpenVMSのレコード管理サービス(RMS)は,各ファイル指定を次の省略時の値を使用して解決します。
CREATEコマンドまたはREPLACEコマンドを使用して,特定のバージョンのファイルを既知のバージョンのファイルとして指定できます。 同じファイルの他のバージョンが存在していても, 該当するイメージの既知ファイルの検索時には, 必ず指定したバージョンが一致します。
この作業を始めるにあたって,次のことを理解してください。
$ SET PROCESS/PRIVILEGES=CMKRNL
$ INSTALL
CREATEファイル名[/修飾子...]
イメージに割り当てる属性に従って,次の修飾子のいずれかを指定する。
イメージのインストール方法についての詳細は,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』のINSTALLコマンドのCREATE を参照してください。
$ DEFINE INSTALL SYS$SYSTEM:INSTALL.EXE;0
このようにしてINSTALLコマンドを入力した場合,イメージ・アクティベータはINSTALL.EXE の既知のファイル・リストをチェックしないので, INSTALLコマンドは完了し,必要な共用イメージをインストールすることができるようになります。
既知イメージに関する情報を表示するためには,INSTALLのLISTコマンドを使用します。
LISTコマンドの/FULL修飾子を使って表示された情報を利用して,イメージのインストールが適切であるかどうかを判断することができます。
$ INSTALL
LIST ファイル名
次に例を示す。
INSTALL> LIST LOGINOUT
LIST/FULL ファイル指定
LOGINOUT.EXEというインストール済みイメージのすべての情報を表示します。 表示される項目は,アクセス数,同時アクセス数,および作成されたグローバル・ セクションの数です。
$ INSTALL INSTALL> LIST/FULL LOGINOUT DISK$VMS551:<SYS2.SYSCOMMON.SYSEXE>.EXE LOGINOUT;2 Open Hdr Shar Prv Entry access count = 36366 Current / Maximum shared = 1 / 10 Global section count = 3 Privileges = CMKRNL SYSNAM LOG_IO ALTPRI TMPMBX SYSPRV INSTALL>
共用可能イメージがSYS$SHAREに存在しない場合,それに対してリンクされている実行可能イメージを実行するために, そのイメージの論理名を指定する必要があります。 たとえば,STATSHRのファイル指定がSYS$SHARE:STATSHR.EXE であれば論理名は不要です。しかし,STATSHRをSYS$DEVICE:[TEST] に格納した場合,STATSHRを呼び出す実行可能イメージを実行する前に, 論理名としてSTATSHRを定義する必要があります。論理名は, 共用可能イメージをリンクしたときにその入力ファイル指定で使用した名前と同じもの( インストールで使用した名前とも同じ)を使用します。 例を示します。
$ DEFINE STATSHR SYS$SYSDEVICE:[TEST]STATSHR
共用可能イメージの論理名を再定義すれば,実行可能イメージを呼び出して再リンクすることなく, その共用可能イメージを別のものに置き換えることができます。 たとえば,次の文はファイル名STATSHRを再定義しています。 この名前は,STATSHRを呼び出す実行可能イメージのための,共用可能イメージSYS$SYSDEVICE:[MAIN]STATSHR.EXE の論理名になります。
$ DEFINE STATSHR SYS$SYSDEVICE:[MAIN]STATSHR
INSTALLコマンドのREMOVEは,あるイメージの既知ファイル・エントリを削除した後, そのイメージのインストール時に作成されたグローバル・セクションをすべて削除します。 ボリュームに対応する既知ファイル・エントリが存在する場合には, そのボリュームはディスマウントできないことに注意してください。 ボリュームをディスマウントするには,そのボリュームに対応する既知イメージをすべて削除してください。 また,それらのイメージを使用するプロセスがすべて終了するまで待つ必要があります。 ファイルの状態を確認するには,DCLコマンドのSHOW DEVICES/FILESを使用します。
INSTALLのDELETEコマンドについては,『OpenVMSシステム管理ユーティリティ・ リファレンス・マニュアル』のINSTALL の節を参照してください。
[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]