前へ | 次へ | 目次 | 索引 |
コマンドの入力を,特定のファイルまたは装置から読み込むことを SYSMAN に指示します。
@ ファイル指定
ファイル指定
実行したい入力装置またはコマンド・プロシージャを指定します。省略時のファイル・タイプは .COM です。ワイルドカード文字は,ファイル指定に使用できません。
@ コマンドは,SYSMAN のコマンドを格納しているコマンド・プロシージャを実行します。まず,SYSMAN を始動してコマンド行の始めに @ コマンドを入力し,次に,コマンド・プロシージャのファイル名を指定します。コマンド・プロシージャには,SYSMAN のどのコマンドでも含めることができます。
#1 |
---|
$ CREATE ENV.COM SET ENVIRONMENT SHOW PROFILE[Ctrl/Z] $ RUN SYS$SYSTEM:SYSMAN SYSMAN> @ENV.COM %SYSMAN-I-DEFDIR, default directory on node -- SYS$SYSROOT:[SYSMGR] %SYSMAN-I-DEFPRIV, default process privileges on node -- CMKRNL CMEXEC SYSNAM . . . GRPPRV READALL SECURITY SYSMAN> |
SYSMAN 環境としてローカル・ノードを設定して現在のプロファイルを表示するコマンド・プロシージャを作成しています。これらのコマンドは,@ENV.COM コマンドを入力すると実行されます。
#2 |
---|
$ CREATE TIME.COM SET ENVIRONMENT/CLUSTER CONFIGURATION SHOW TIME[Ctrl/Z] $ RUN SYS$SYSTEM:SYSMAN SYSMAN> @TIME System time on node NODE23: 19-JUN-2002 13:32:19.45 System time on node NODE24: 19-JUN-2002 13:32:27.79 System time on node NODE25: 19-JUN-2002 13:32:58.66 |
クラスタ内のすべてのノードの現在の日時を表示するコマンド・プロシージャを,作成し実行しています。
新しいレコードを自動ログイン機能 (ALF) データベースに追加します。また,代理アカウントのためにレコードを作成することもできます。SYSALF データベースに対する読み込みアクセス権 (R) と書き込みアクセス権 (W) が必要です。省略時の SYSALF データベースは,SYS$SYSTEM:SYSALF.DAT です。
ALF ADD 装置ユーザ
装置
ユーザ名に割り当てるターミナル名またはポート名を指定します。コマンド行で修飾子を指定しない場合は,ターミナル名を指定してください。論理名と短縮装置名のどちらでも指定できます。このパラメータは代理アカウントの装置を含んだ最高 63 文字まで受け付けます。ユーザ
特定のターミナルまたはポートに設定したいアカウントのユーザ名を指定します。
/TERMINAL (省略時の設定)
指定した装置名がターゲット・システム上のターミナルであるかどうかをチェックします。論理名や短縮装置名を指定した場合は,SYSMAN がフル装置名に変換します。/PORT
指定した装置名が正しいポートであるかどうかをチェックします。スラッシュ (/) などの特殊文字をポート名に含める場合や小文字として識別させたい小文字をポート名に含める場合には,二重引用符 ("") でポート名を囲みます。二重引用符で囲まれた文字列は,すべてそのまま ALF データベース・ファイルに書き込まれることに注意してください。たとえば,実際のポート名に特殊文字に加えて大文字が含まれている場合は,二重引用符の中で大文字を使用することを忘れないでください。文字列を誤ると,実際のポート名と SYSALF.DAT ファイルで指定されている名前が一致しなくなります。
/PROXY
装置名が NODE::USERNAME の形式であるかどうかをチェックします。/LOG
ALF データベースに追加された装置名とユーザ名を表示します。
ALF ADD コマンドを実行すれば,ターミナルやポートを特定のユーザ名と対応づけることができます。特定のターミナルやポートに対するログインを特定のユーザに許可したい場合,ユーザ名を指定せずに許可できます。ALF ADD コマンドは,新しいレコードを ALF データベースに追加します。
#1 |
---|
SYSMAN> ALF ADD TTA3 JBERGERON SYSMAN> ALF ADD "MN34C3/LC-1-2" FMARTIN /PORT |
まず,TTA3 というターミナルをユーザ JBERGERON に割り当てています。次のコマンドは,MN34C3/LC-1-2 というポートをユーザ FMARTIN に割り当てています。
#2 |
---|
SYSMAN> ALF ADD VMS:.ZKO.VMSORG.SYSMAN.CLIENT1::SYSTEM FOOBAR |
この例では,VMS:.ZKO.VMSORG.SYSMAN.CLIENT1::SYSTEM は, FOOBAR に割り当てられる装置パラメータの値です。
1 つまたは複数のレコードを ALF データベースから削除します。SYSMAN) SYSALF データベース SYS$SYSTEM:SYSALF.DAT に対する読み込みアクセス権 (R) と書き込みアクセス権 (W) が必要です。
ALF REMOVE 装置
装置
ALF からレコードを削除するターミナル名またはポート名を指定します。 ALF REMOVE コマンドで修飾子を使用していても,装置名は必須です。ターミナル名またはポート名ではワイルドカード文字を使用できます。たとえば,TTA* という装置を指定すると,TTA という文字列から始まるすべてのレコードが削除されます。しかし, <nodename>$TTA (<nodename> はシステムの SCSNODE 名) という文字列から始まるレコードは削除されません。 $ で始まるレコードを削除するには,$TTA* と指定するか,または, *TTA* のようにワイルドカードを 2 つ使用します。
ワイルドカード文字を使用せずに,REMOVE コマンドを入力した場合には, SYSMAN は装置名を正確に照合します。複数のレコードが条件を満たす場合には, SYSMAN はエラー・メッセージを表示します。
/USERNAME=ユーザ
装置に関連付けられた特定のユーザ用のレコードを ALF から削除できます。 /USERNAME 修飾子を使うときには装置も指定する必要があります。 /USERNAME 修飾子では,ワイルドカード文字を使用できます。/CONFIRM
レコードを削除するかどうか確認するメッセージを表示します。/LOG
ALF データベースから削除した装置名とユーザ名を表示します。
ALF REMOVE コマンドは,1 つまたは複数のレコードを ALF データベースから削除します。
#1 |
---|
SYSMAN> ALF REMOVE WORK1/USERNAME=* |
ALF データベースから全ユーザ用の WORK1 装置のレコードを削除します。アスタリスク (*) はユーザ名に置き換わります。
#2 |
---|
SYSMAN> ALF REMOVE */USERNAME=* |
ALF データベースからすべてのレコードを削除します。最初のアスタリスク (*) は装置名に置き換わり, 2 番目のアスタリスクがユーザ名に置き換わります。
#3 |
---|
SYSMAN> ALF REMOVE _TTA3: SYSMAN> ALF REMOVE /USERNAME=SMITHSON |
まず,TTA3 というターミナルのレコードを削除しています。次のコマンドは,ユーザ名 SMITHSON に関係する (すべての装置用の) レコードをすべて削除しています。
#4 |
---|
SYSMAN> ALF REMOVE *TTA* |
文字列 TTA を含む装置のすべてのレコードを削除します。
#5 |
---|
SYSMAN> REMOVE TTA |
このコマンドは次のエラー・メッセージを出力します。
%SYSMAN-E-ALFWILCRDREQ, more than one record might match - Wildcard or unit number of device required.
REMOVE コマンドをバージョン 6.1 以前の SYSMAN クライアントからバージョン 6.2 以降のシステムに対して実行する場合には,特に注意をしてください。 |
たとえば,OpenVMS バージョン 6.1 以前を実行しているシステムから OpenVMS バージョン 6.2 を実行しているシステムに対して次のコマンドを実行すると,エラー・メッセージは出力されず,FOOBAR$TTA と一致するすべてのレコードが削除されます。
SYSMAN> SET ENVIRONMENT/NODE=FOOBAR ! FOOBAR runs OpenVMS Version 6.2 %SYSMAN-I-ENV, current command environment: Individual nodes: FOOBAR Username SYSTEM will be used on nonlocal nodes SYSMAN> ALF REMOVE TTA ! Does not produce an error message SYSMAN> |
OpenVMS バージョン 6.1 以前を実行しているシステムから OpenVMS バージョン 6.1 以前を実行している別のシステムに対して同じコマンドを発行した場合には,次のエラー・メッセージが出力されます。
%SYSMAN-I-NODERR, error returned from node FOO -SMI-E-ALFNOMATCH, no records matched search criteria |
これは,OpenVMS バージョン 6.2 より前のシステムでは,ワイルドカードの処理に誤りがあるからです。
ALF SHOW
ALF データベースから 1 つまたは複数のレコードを表示します。SYSALF データベース SYS$SYSTEM:SYSALF.DAT に対する読み込みアクセス権 (R) と書き込みアクセス権 (W) が必要です。
ALF SHOW [装置]
[装置]
レコードを表示するターミナル名またはポート名を指定します。ターミナル名またはポート名ではワイルドカード文字を使用できます。例に示すように,ALF レコードのワイルドカード照合に関しては,特定の制約事項があります。
/USERNAME=ユーザ
指定のユーザが保有するレコードを表示できます。この修飾子では,ワイルドカード文字を使用できます。/OUTPUT[=ファイル指定]
コマンドの出力先として,ファイルを指定できます。ファイルを指定しない場合,省略時のディレクトリの SYSMAN.LIS ファイルに出力が書き込まれます。
ALF SHOW コマンドは,ALF データベースに格納されている 1 つまたは複数のレコードを表示します。
#1 |
---|
SYSMAN> ALF SHOW TTA* /USERNAME=MANESS /OUTPUT=ALF.TXT |
この例では,MANESS というユーザに割り当てられているターミナル TTAx のレコードを選択し,ALF.TXT ファイルに出力しています。
#2 |
---|
SYSMAN> ALF SHOW TTA* |
このコマンドは,TTA という文字列から始まるレコードだけを表示します。
#3 |
---|
SYSMAN> ALF SHOW TTA |
このコマンドは,<nodename>$TTA という文字列から始まるレコードだけを表示します。
#4 |
---|
SYSMAN> ALF SHOW *TTA |
このコマンドは,装置名が TTA で終了するレコードを表示します。
#5 |
---|
SYSMAN> ALF SHOW *TTA* |
このコマンドは,TTA という文字列を含むすべてのレコードを表示します。
あるジョブにおいて,現在のプロセスから指定のプロセスに制御を渡します。現在のプロセスは,この結果ハイバネート状態になります。メールボックスが設定されているターミナルでは,ATTACH コマンドと SPAWN コマンドは使用できません。
ATTACH [プロセス名]
プロセス名
制御の渡し先とする親プロセスまたはサブプロセスの名前を指定します。指定するプロセスは,すでに存在しており,現在のジョブ木構造の一部であり,同じ入力ストリームを現在のプロセスと共用していることが必要です。ただし,現在のプロセスまたは /NOWAIT 修飾子を付けて作成したサブプロセスは,制御の渡し先プロセスとして指定できません。プロセス名は,15 文字以内の英数字です。指定のプロセスに接続できない場合,エラー・メッセージが表示されます。
/PARENT
親プロセスに接続します。親プロセスが存在しない場合,エラー・メッセージが出力されます。
ATTACH コマンドは,入力ストリームを別のプロセスに接続します。 ATTACH コマンドを使用すると,制御を 1 つのサブプロセスから別のサブプロセスまたは親プロセスに切り換えることができます。ATTACH コマンドを実行すると,親プロセスは,ハイバネート状態となり,指定のデスティネーション・プロセスに使用中の入力ストリームが接続されます。現在のジョブの一部であり, SPAWN/WAIT コマンドまたは ATTACH コマンドによってハイバネート状態となっているサブプロセスへの接続を確立できます。ただし,接続を確立できる場合にかぎります。現在のプロセス,現在のジョブの一部でないプロセス,存在しないプロセスには接続できません。これらのプロセスに接続しようとすると,エラー・メッセージが出力されます。
ATTACH コマンドと SPAWN/WAIT コマンドを組み合わせれば,作成したサブプロセスを終了しないまま親プロセスに戻ることができます。詳細については,SPAWN コマンドの説明を参照してください。
$ SPAWN %DCL-S-SPAWNED, process SYSTEM_1 spawned %DCL-S-ATTACHED, terminal now attached to process SYSTEM_1 $ RUN SYS$SYSTEM:SYSMAN SYSMAN> ATTACH SYSTEM %DCL-S-RETURNED, control returned to process SYSTEM $ |
SYSTEM_1 というサブプロセスを作成しています。 SYSMAN を始動して ATTACH コマンドを実行し,ターミナルの制御を親プロセス SYSTEM に戻しています。
ADD コマンドは新しいスケジューリング・クラスを作成します。クラス・スケジューラは,システムのユーザをスケジューリング・クラスに入れることで,そのユーザが受け取る CPU 時間の量を制限する機能を提供します。各クラスにはシステム全体の CPU 時間のパーセンテージが割り当てられます。システムが稼働すると,クラス内のユーザ群は,そのクラスに割り当てられた CPU 実行時間のパーセンテージに制限されます。
ユーザのスケジューリング・クラスで /WINDFALL 修飾子が有効になっている場合,ユーザは追加の CPU 時間を取得できる可能性があります。 /WINDFALL 修飾子を有効にすることで,スケジューリング・クラスに分配された時間がほとんど無くても,未使用の CPU が利用可能なときには,システムは短い CPU 時間をスケジューリング・クラスに提供できます。
CLASS_SCHEDULE ADD クラス名
クラス名
スケジューリング・クラスの名前を指定します。 ADD コマンドでは必ずクラス名を指定します。この名前の最大長は 16 文字です。
/ACCOUNT
このスケジューリング・クラスに参加するユーザを指定します。これは,ユーザの SYSUAF レコードの一部になります。この修飾子の構文は次のとおりです。
[/ACCOUNT = (名前1, 名前2,...名前"n")]
/CPULIMIT
指定された曜日と時間にこのスケジューリング・クラスが取得できる CPU 時間の最大量を定義します。クラスを追加するときには必ずこの修飾子を指定します。この修飾子の構文は次のとおりです。
/CPULIMIT = ([primary], [h1-h2=time%],[h1=time%], [,...],[secondary],[h1-h2=time%],[h1=time%],[,...])
h1-h2=time% 構文によって時間の範囲を指定し,その次に,この時間のセットに関連付ける CPU 時間の最大量 (パーセンテージで表記) を指定します。 PRIMARY キーワードに続く最初の時間のセットには主曜日での時間を指定し, SECONDARY キーワードに続く時間のセットには副曜日での時間を指定します。指定した時間はそれ自体も含まれます。ある時間にクラス・スケジュールを行うと,アクセスはその時間の最後まで拡張されます。
/PRIMEDAYS
主曜日と副曜日を定義できます。この修飾子の構文は次のとおりです。
[/PRIMEDAYS = ([no]曜日[,...])]
主曜日は,MON,TUE,WED,THU,FRI,SAT,SUN と指定します。副曜日は,NOMON,NOTUE,NOWED,NOTHU,NOFRI,NOSAT,NOSUN と指定します。
省略時の設定は,MON から FRI までと,NOSAT および NOSUN です。リストにない曜日は省略時の設定になります。 DCL コマンドの SET DAY を使うと,主曜日と副曜日のクラス定義を変更できます。
/UIC
このスケジューリング・クラスに参加するユーザを指定します。これは,ユーザの SYSUAF レコードの一部になります。この修飾子の構文は次のとおりです。
[/UIC = (uic1,uic2,...uic"n")]
/USERNAME
このスケジューリング・クラスに参加するユーザを指定します。これは,ユーザの SYSUAF レコードの一部になります。この修飾子の構文は次のとおりです。
[/USERNAME = (名前1, 名前2,...名前"n")]
/WINDFALL
スケジューリング・クラス内のすべてのプロセスがウィンドフォールを使用する資格があると指定します。この修飾子の構文は次のとおりです。
[/WINDFALL])
ウィンドフォールを許可することで,スケジューリング・クラス内のプロセスは「ウィンドフォール」を受け取ることができます。「ウィンドフォール」とは,クラスに分配された CPU 時間がほとんど無くて,CPU がアイドル状態であるときの,CPU 時間の短いパーセンテージです。これは,プロセスに分配された時間よりも多くの時間をプロセスに提供することになるとしても, CPU がアイドル状態のままよりはこれらのプロセスを実行させる方がよいと選択したことにもなります。
省略時の設定では,ウィンドフォールは禁止になっています。
CLASS_SCHEDULE ADD コマンドの形式は次のとおりです。
SYSMAN> CLASS_SCHEDULE ADD クラス名
/ACCOUNT,/UIC,/USERNAME のいずれかの修飾子を使うと,どのユーザがスケジューリング・クラスに加わるのかを指定できます。
クラス・スケジューラ・データベースは,システムがブートおよび再ブートした後に, OpenVMS が自動的にプロセスのクラスをスケジュールできるパーマネント・データベースです。このデータベースはシステム・ディスクに SYS$SYSTEM:VMS$CLASS_SCHEDULE.DATA という名前で存在します。 SYSMAN の CLASS_SCHEDULE ADD コマンドで初めてスケジューリング・クラスが作成されると, SYSMAN はこのファイルを RMS の索引編成ファイルとして作成します。
すべてのクラスタ・ノードに共通のクラス・スケジューラ・データベースを持つことも, 1 つのノードまたは少数のノードごとに独立したデータベースを持つこともできます。共通のデータベースを使用すると,システム管理を簡略化することができます。ただし,次の例で指摘する項目に注意する必要があります。