前へ | 次へ | 目次 | 索引 |
また,Reserved Memory Registryを使用することにより,割り当てオプションの使用時にメモリ常駐セクションのためのメモリが確保できることが保証されます。
予約された非流動メモリのユーザは,システムの初期化時(ブート時)に読み込まれるデータ・ファイルに,メモリの特性を入力します。このファイルはSYS$SYSTEM:VMS$RESERVED_MEMORY.DATAであり,このファイルの保守にはSYSMANユーティリティを使用します。
SYS$SYSTEM:VMS$RESERVED_MEMORY.DATA データ・ファイルは編集しないでください。 |
VMS$RESERVED_MEMORY.DATA はシステムの初期化の際に読み込まれます。このデータ・ファイルの各エントリについて, RESERVED_MEMORY ADD コマンドの /SIZE 修飾子の指定に従い,このメモリ常駐グローバル・セクションのためにシステムの流動ページ・カウントからメガバイト単位での引き算が行われます。 /PAGE_TABLES が指定されている場合には,メモリ常駐グローバル・セクションに対応する共用ページ・テーブルに必要なメモリも,システムの流動ページ・カウントから引き算されます。
次の表に,RESERVED_MEMORY ADD コマンドの修飾子の効果をまとめます。
修飾子 | 効果 |
---|---|
/ALLOCATE | 物理ページのブロックが割り当てられ,メモリ常駐グローバル・セクションのために予約される。 |
/PAGE_TABLES | 物理ページのブロックが追加で割り当てられ,共用ページ・テーブルのために予約される。これらのページは,ブロックの最大の粒度ヒント係数を使用するのに適した物理的アラインメントを持っている。 |
/ZERO | ページは,システムの初期化の際に,またはシステムがアイドル状態にあるときにゼロにされる。 |
/NOZERO | ページは,メモリ常駐グローバル・セクションの作成時にゼロにされる。 |
システム・パラメータ STARTUP_P1 を "MIN" に設定すると,Reserved Memory Registryのエントリは無視され,メモリは予約されません。
システム初期化の際,Reserved Memory Registryデータ・ファイルの処理を行っているときに,流動ページの予約や物理ページの割り当てでエラーが発生すると,システムはコンソールに警告を発し,ブート処理を続けます。ただし要求は実行を許可されません。
SYSMAN> RESERVED_MEMORY ADD DFW$GS_1 /NOPAGE /GROUP=100 /SIZE=1 SYSMAN> RESERVED_MEMORY ADD DFW$GS_2 /PAGE /SIZE=2 /ALLOC /ZERO SYSMAN> RESERVED_MEMORY ADD DFW$GS_3 /PAGE /SIZE=3 |
この例のコマンドは, Reserved Memory Registryデータ・ファイルにエントリを追加します(RESERVED_MEMORY SHOWコマンドの例に,これらのエントリの値があります)。
Alpha システムで,単一の予約に複数のリソース・アフィニティ・ドメイン (RAD) を指定する場合は,メモリのセクションを追加します。EXTEND では,/ALLOCATE,/ZERO,または /PAGE_TABLES フラグを指定できません。既存の予約によってこれらのフラグの状態が判断されます。 /ALLOCATE フラグは,初期予約用に設定されていてもそうでなくても, EXTEND では暗黙的に設定されます。
RAD を指定せずにメモリ・セクションを追加するには, /NORAD 修飾子を使用します。
サンプル・プロシージャについては,SYSMAN RAD 修飾子とオプションの使用方法を示す 第 21.4 節 を参照してください。
RESERVED_MEMORY EXTEND 名前
名前
メモリ予約の名前です。名前を指定する必要があります。予約がメモリ常駐グローバル・セクション用である場合,予約の名前をグローバル・セクション名と同じにする必要があります。
/RAD=n
/NORAD
単一の予約用に複数の RAD を指定する場合,追加のメモリ・セクションを指定します。RAD を指定せずにメモリ・セクションを追加するには /NORAD を使用します。
/SIZE=予約済みのメモリのサイズ,MB 単位
システムの初期化の際に VMS$RESERVED_MEMORY.DATA データ・ファイルが読み込まれるときに,このメモリ常駐グローバル・セクションのためにシステムの流動ページ・カウントから引き算されるメガバイト数を指定します。
実行中のAlphaシステムにおいて,予約済みのメモリを解放します。このコマンドはReserved Memory Registryデータ・ファイルの内容には影響を与えません。これは実行中のシステムにのみ影響を与えます。
RESERVED_MEMORY FREE 名前
名前
メモリ予約の名前です。この名前は指定する必要があります。
/GLOBAL_SECTION (省略時の設定)
/NOGLOBAL_SECTION
/NOGLOBAL_SECTION は,メモリ修飾子がグループまたはシステム・グローバル・セクション用ではなく特権アプリケーション用であることを表しています (/GLOBAL_SECTION は,メモリ修飾子がグループまたはシステム・グローバル・セクション用であることを表しています)。 /NOGLOBAL_SECTION 修飾子は /GROUP,/SYSGBL,/PAGE_TABLES と同時に指定することはできません。/GROUP=n
メモリ常駐グローバル・セクションがグループ・グローバル・セクションである場合,/GROUP を指定する必要があります。メモリ常駐グローバル・セクションがシステム・グローバル・セクションである場合,/GROUP は指定しないでください。値n は,メモリ常駐に関連し,解放の対象になる UICグループ番号(8進)です。/GROUP 修飾子は,/SYSGBL,/NOGROBAL_SECTION 修飾子とともに指定することはできません。
/SYSGBL
予約がシステムのグローバル・メモリ常駐セクション用であることを示します。この修飾子を /GROUP 修飾子または /NOGROBAL_SECTION 修飾子と同時には指定できません。この修飾子は,/GROUP または /NOGLOBAL_SECTION 修飾子を指定しないかぎり省略時の設定です。
システム初期化の際に,このグローバル・セクションに対して物理ページが事前に割り当てられなかった場合,予約されたメモリは単にシステムの流動ページ・カウントに追加されます。そうでない場合,ページはシステムのフリーまたはゼロ化ページ・リストに割り当て解除されます。指定したメモリ常駐グローバル・セクションに対してページ・テーブルも予約されている場合は,共用ページ・テーブルの予約済みメモリも解放されます。指定した予約の一部がまだ使用されている場合,現在使用されていないだけの量の予約済みメモリが解放されます。システムは,指定したグローバル・セクションが予約済みメモリの一部を使用しているかどうかを示す情報メッセージを表示します。
SYSMAN> RESERVED_MEMORY FREE DFW$GS_2 %SMI-S-RMRFREPAG, pages successfully freed from reservation SYSMAN> RESERVED_MEMORY SHOW %SYSMAN-I-OUTPUT, command execution on node PIPERI Name Pages In Use Group PTs Alloced Zeroed DFW$GS_3 384 0 SYSGBL No No No DFW$GS_1 128 0 00000100 No No No DFW$GS_3 1 0 SYSGBL Yes No No |
この例で,1つ目のコマンドはDFW$GS_2の中の予約済みメモリを解放します。 2つ目のコマンドは,実行中のシステムの中のDFW$GS_3と DFW$GS_1の予約済みメモリを表示しますが,予約済みメモリを持たないDFW$GS_2については表示しません。
Alpha システムで,Reserved Memory Registry データ・ファイルに現在格納されているこの予約のプレビューを提供します。予約が何も指定されない場合,現在のすべての予約が表示されます。この修飾子を使用すると,予約が意図されたとおりに行われていることを確認できます。
サンプル・プロシージャについては, SYSMAN リソース・アフィニティ・ドメイン RAD 修飾子とオプションの使用方法を示す 第 21.4 節 を参照してください。
RESERVED_MEMORY LIST 名前
名前
Reserved Memory Registry データ・ファイルで検証する予約の名前です。
/GLOBAL_SECTION (省略時の設定)
/NOGLOBAL_SECTION
/NOGLOBAL_SECTION は,メモリ修飾子がグループまたはシステム・グローバル・セクション用ではなく特権アプリケーション用であることを表しています (/GLOBAL_SECTION は,メモリ修飾子がグループまたはシステム・グローバル・セクション用であることを表しています)。 /NOGLOBAL_SECTION 修飾子は /GROUP,/SYSGBL,/PAGE_TABLES と同時に指定することはできません。/GROUP=n
メモリ常駐グローバル・セクションがグループ・グローバル・セクションである場合,/GROUP を指定する必要があります。メモリ常駐グローバル・セクションがシステム・グローバル・セクションである場合,/GROUP は指定しないでください。値n は,メモリ常駐に関連し,解放の対象になる UICグループ番号(8進)です。/GROUP 修飾子は,/SYSGBL,/NOGROBAL_SECTION 修飾子と同時には指定できません。
/SYSGBL
予約がシステムのグローバル・メモリ常駐セクション用であることを示します。この修飾子を /GROUP 修飾子または /NOGROBAL_SECTION 修飾子と同時には指定できません。この修飾子は,/GROUP または /NOGLOBAL_SECTION 修飾子を指定しない限り省略時の設定です。
Alphaシステムにおいて,Reserved Memory Registryデータ・ファイルの既存のエントリの変更を許可します。サンプル・プロシージャについては, SYSMAN RAD 修飾子とオプションの使用方法を示す 第 21.4 節 を参照してください。
RESERVED_MEMORY MODIFY 名前
名前
削除するエントリに関連付けられた名前です。この名前は指定する必要があります。
/ALLOCATE
/NOALLOCATE (省略時の設定)
システムを次に再ブートするときに,コマンド・ラインに指定されたようにページを割り当てます (省略時の設定は,既存のReserved Memory Registry エントリから設定されます)。ページの物理的なアラインメントは,予約されるメモリのサイズに応じて,ページの対応付けに使用できる最大粒度ヒント係数に基づいて決定されます。粒度ヒント係数としては,512ページ(4MB)と64ページ(512KB)があります。したがって,システム・ページ・サイズを8KBとすると,予約されるメモリは次のように物理的にアラインされます。
- サイズ >= 4BM: 4MB境界に物理的にアラインされます。
- サイズ < 4BM: 512KB境界に物理的にアラインされます。
/NOALLOCATE を指定した場合,または /ALLOCATE を指定しなかった場合には,メモリは,システムの流動ページ・カウントを引き算することによってのみ予約されますが,具体的なページを取り除いておくことはできません。
/GLOBAL_SECTION (省略時の値)
/NOGLOBAL_SECTION
/NOGLOBAL_SECTION は,メモリ修飾子がグループまたはシステム・グローバル・セクション用ではなく特権アプリケーション用であることを表しています (/GLOBAL_SECTION は,メモリ修飾子がグループまたはシステム・グローバル・セクション用であることを表しています )。 /NOGLOBAL_SECTION 修飾子は /GROUP,/SYSGBL,/PAGE_TABLES と同時に指定することはできません。/GROUP=n
予約済みメモリがグループ・グローバル・セクションのためのメモリであることを指定します。値n は,グループ・グローバル・セクションを作成するプロセスのUICグループ番号(8進)を指定します。グローバル・セクションへのアクセスは,作成者のUICグループ番号に属するプロセスだけが行えます。たとえば,UICが[6,100]のプロセスがグループ・グローバル・セクションの作成者である場合,/GROUP修飾子のグループ番号は6になります。/GROUP 修飾子は,/SYSGBL,/NOGROBAL_SECTION 修飾子とともに指定することはできません。
/NEW_RAD=nn
/NONEW_RAD
エントリの RAD 割り当てを変更する場合は NEW_RAD を使用します。まず,/RAD=n を指定して変更するエントリを識別し,次に /NEW_RAD=nn を指定して新しい RAD を識別します。古いエントリが RAD を割り当てられていない場合,(/RAD 修飾子なしで) /NEW_RAD=nn のみを使用します。/PAGE_TABLES (省略時の設定)
/NOPAGE_TABLES
コマンド・ラインに指定したように共用ページ・テーブル用に追加のメモリを予約します (省略時の設定は,既存のReserved Memory Registry エントリから設定されます)。メモリ常駐グローバル・セクションが作成されると,グローバル・セクションのための共用ページ・テーブルが作成されます。 /ALLOCATE を指定しない場合,または /NOALLOCATE を指定する場合,追加の予約済みメモリはシステムの流動ページ・カウントから引き算されます。/ALLOCATE を指定すると,システムの次の再ブートの際に共用ページ・テーブルのために追加のページが割り当てられ,追加の予約済みメモリがシステムの流動ページ・カウントから引き算されます。
/PAGE_TABLES を指定しなかった場合,または /NOPAGE_TABLES を指定した場合は,共用ページ・テーブルのための追加のメモリは予約されません。メモリ常駐グローバル・セクションが作成されるときも,グローバル・セクションのための共用ページ・テーブルは作成されません。
予約が /NOGLOBAL_SECTION 属性をもっている場合, /PAGE_TABLES 修飾子を指定することはできません。
/RAD=n
/NORAD
MODIFY/RAD=n は,指定したリソース・アフィニティ・ドメイン (RAD) 用のエントリのみに影響します。 n の値は指定する RAD です。使い方の規則
- 指定された数値がないエントリの予約サイズを変更するため,あるいは /ZERO または /PAGE_TABLES フラグの状態を変更するためには, MODIFY/RAD=n は使用しないでください (フラグは与えられた予約のすべてのエントリに対して常に一貫しています)。
- エントリの RAD 割り当てを変更するには, /RAD=n を指定して変更するエントリを識別し, /NEW_RAD=nn を指定して新しい RAD を識別します。古いエントリに RAD の割り当てがなかった場合には, (/RAD 修飾子を指定せず) /NEW_RAD=nn のみを使用します。
- この予約に対するメモリを具体的な RAD に結び付ける必要がなくなった場合には, MODIFY 名前 /NORAD を使用します。 SYSMAN は,この予約のすべての RAD エントリの合計として合計メモリ・サイズで未指定の RAD の単一のエントリに複数のエントリを圧縮します。
/SIZE=予約済みメモリのサイズ,MB 単位
システムの初期化の際に VMS$RESERVED_MEMORY.DATAデータ・ファイルが読み込まれるときに,このメモリ常駐グローバル・セクションのためにシステムの流動ページ・カウントから引き算されるメガバイト数を指定します。 /SIZE の省略時の設定は,既存のReserved Memory Registry エントリから設定されます。/SYSGBL
予約はグローバル・メモリ常駐セクション用であることを示します。/GROUP 修飾子と /NOGROBAL_SECTION 修飾子は同時に指定できません。この修飾子は,/GROUP または /NOGLOBAL_SECTION 修飾子を指定しない限り省略時の設定です。
/ZERO
/NOZERO (省略時の設定)
/ZERO修飾子は /ALLOCATE修飾子を暗黙に指定しています。 /ZERO を指定すると,システムの初期化の際に,事前に割り当てられるページはゼロにされます。メモリ常駐グローバル・セクションでは,ゼロにされたページが必要です。ただし,必ずシステムの初期化の際にページをゼロにしなければならないというわけではありません。省略時の設定は既存の Reserved Memory Registry エントリから設定されます。/NOALLOCATE 修飾子は /NOZERO 修飾子を暗黙に指定します。これは /ZERO 修飾子は /NOALLOCATE 修飾子と互換性がないからです。 /ZERO を指定しなかった場合,または /NOZERO を指定した場合は,システムの初期化の際に,事前に割り当てられるページはゼロにされません。これらのページは,グローバル・セクションの作成時にゼロにされます。
変更されるReserved Memory Registry エントリは,次の項目の組み合せです。名前
/[NO]GLOBAL_SECTION
/GROUP=n
/SYSGBLこれらの修飾子の値は, RESERVED_MEMORY ADD コマンド用の値と同じです。
#1 |
---|
SYSMAN> RESERVED_MEMORY MODIFY X234567890123456789012345678901/SIZ=2/ZERO $ TYPE SYS$SYSTEM:VMS$RESERVED_MEMORY.DATA ! VMS$RESERVED_MEMORY.DATA ! Do NOT edit this file ! Modify with SYSMAN RESERVED_MEMORY commands ! A = /ALLOCATE, Z = /ZERO, P = /PAGE_TABLES, VERSION = 1 ! SIZE (MB) RESERVATION NAME GROUP A Z P 1 X23456789012345678901234567890 1 0 0 1 2 X234567890123456789012345678901 SYSGBL 1 1 1 1 X2345678901234567890123456789012 NOGBL 0 0 0 SYSMAN> EXIT $ |
この例のコマンドは,割り当て用の2MBのメモリを予約し,ブート時にゼロにクリアするようにエントリを変更します。
前へ | 次へ | 目次 | 索引 |