前へ | 次へ | 目次 | 索引 |
システムの動作の表示モードは,定期的に,あるいはインストールのチェック,チューニング,トラブルシューティングで,稼働中のシステムの動作をリアルタイムに調べたい場合に使用します。出力の履歴情報は記録されません。次の例は,システムの動作の表示モードの使用方法を示しています。
$ MONITOR PROCESSES/TOPCPU |
前回の表示からこのコマンドを実行するまでに CPU を最も使用した 8 つのプロセスを示す棒グラフが表示される。また,各プロセスが使用した CPU 時間も表示される。
このコマンドにより次のような出力が生成される。
OpenVMS Monitor Utility TOP CPU TIME PROCESSES on node BOMBAY 20-JAN-2000 10:06:49 0 25 50 75 100 + - - - - + - - - - + - - - - + - - - - -+ 07E00181 CAFARET 100 **************************************** | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - - - - + - - - - + - - - - + - - - - -+ |
この例では,ユーザ CAFARET が使用できる CPU 時間を 100 パーセント使用している。ユーザが使用しているコンピュータの資源についてより詳細な情報を表示するには,次のようなコマンドを使用する。
$ SHOW PROCESS/CONTINUOUS/ID=07E00181 |
この例では,結果として得られる表示の中で最も役に立つ情報は,イメージの名前であり,たとえば次のように,最後の部分に表示される。
. . . $1$DUA1:[SYS1D.SYSCOMMON.][SYSEXE]RODAN.EXE |
この例は CAFARET が RODAN.EXE を実行していることを示している。これは新しいソフトウェアであり,その動作がループしている可能性がある。このような状況は,CAFARET が特権ユーザで,別のユーザよりも高い優先順位でプロセスを実行した場合に発生する。
$ MONITOR/DISPLAY=PROCESSES.LOG PROCESSES |
MONITOR からの情報は,サポートされている任意のターミナルまたはディスク・ファイルに出力することができる。ここでは,MONITOR のプロセス統計を PROCESSES.LOG ファイルに書き込んでいる。この後,このファイルをハードコピー装置に出力してプリントすることができる。
データは継続的に表示ファイルに追加されるため,ファイルが大きくなりすぎないように注意してください。 |
$ MY_CLASSES :== - _$ "DECNET+FCP+IO+LOCK+MODES+PAGE+PROCESSES+STATES" $ MONITOR/NODE=(CURLEY,LARRY)/INTERVAL=20/VIEWING_TIME=8 'MY_CLASSES' |
頻繁に使用するクラス名の組み合わせは, DCL シンボルに定義しておくと便利なことがある。ここでは,CURLEY および LARRY という OpenVMS Cluster ノードに関して選択されたクラスのデータが 20 秒ごとに収集される。また,クラスのうちの 1 つに関して収集されたデータのうちの最新の項目が 8 秒ごとに表示される。 MONITOR では,クラスの表示順序があらかじめ決められている。
システムの動作の記録は,将来のために MONITOR データをとっておく必要がある場合に使用します。次のような用途が考えられます。
データは継続的に表示ファイルに追加されるため,ファイルが大きくなりすぎないように注意してください。 |
次の例は,システムの動作の記録モードの使用方法を示しています。
$ MONITOR/NODE=(LARRY,MOE)/NODISPLAY/RECORD MODES+STATES |
各プロセッサ・モードでの動作時間,および LARRY および MOE というノードの各スケジューラ状態におけるプロセス数のデータが記録されます。ただし,この情報は出力されません。
20.8.5 システムの動作の表示と記録
システムの動作の表示と記録モードは,性能データを保持し,収集されるときにその性能データを表示させる場合に使用します。 MONITOR では,記録ファイルに共用読み込みアクセス権が設定されるので,他の表示プロセスが記録ファイルを書き込んでいる間に,それを別の表示プロセスがプレイバックすることができます。
次の例は,性能の情報を記録しながら,同時に収集中のデータを表示する方法を示しています。最初の例では,データの収集と記録の両方を同じコマンドで行います。 2 番目および 3 番目の例は,2 つの別々のプロセスを使って記録と表示を同時に行う方法を示しています。2 番目の例のプロセスは記録を行い, 3 番目の例のプロセスがファイルをプレイバックして要約します。
$ MONITOR/RECORD FCP/AVERAGE,FILE_SYSTEM_CACHE/MINIMUM |
ファイル・システムとファイル・システム・キャッシュのデータを 3 秒ごとに収集して記録する。さらに,棒グラフによって, FCP の平均値と FILE_SYSTEM_CACHE の最小値が表示される。 2 つのグラフが 3 秒ごとに交互に表示される。現在の統計値は次のプレイバック要求で得られる。
$ MONITOR/RECORD=SYS$MANAGER:ARCHIVE.DAT - _$ /INTERVAL=300/NODISPLAY ALL_CLASSES |
すべてのクラスのデータを同時に 5 秒間隔で保存する。同様のコマンドをバッチ・ジョブで実行し,ディスクの使用量を注意深く監視すると便利である。
$ MONITOR/INPUT=SYS$MANAGER:ARCHIVE.DAT: - _$ /NODISPLAY/SUMMARY/BEGINNING="-1" PAGE,IO |
報告された性能の問題の調査の一部として,過去 1 時間に発生したページ動作および入出力動作をまとめる。記録を行うプロセスは 5 分ごとに OpenVMS RMS フラッシュ動作を行うため,過去 5 分以内の収集データは表示を行うプロセスからは利用できない点に注意。
/FLUSH_INTERVAL 修飾子により,フラッシュ動作を行う間隔を明示的に指定できる。表示を行うプロセスには,記録ファイルに対する読み込みアクセス権が必要。
プレイバックとは,記録ファイルに収集されたデータの全部または一部をターミナルに表示したり,要約レポートとしてまとめたりすることをいいます。データは,クラス,ノード,あるいは時間帯に基づいてまとめることができます。たとえば,24 時間に渡っていくつかのクラスのデータを収集した場合,その間の任意の時間帯の 1 つ以上のクラスのデータを調べたり,まとめたりできます。
記録した時間帯と別の時間帯のデータを表示したりまとめたりすることも可能です。スクリーンに表示を行う実際の間隔は,/VIEWING_TIME 修飾子で制御します。次の例は,記録した動作のプレイバックを行う方法を示しています。
$ MONITOR/RECORD/INTERVAL=5 IO . . . $ MONITOR/INPUT IO |
システム入出力の統計をとる。最初のコマンドは,データの収集と表示を 5 秒間隔で行う。この作業は,このコマンドを入力した時点から Ctrl/Z を押すまで続けられる。さらにこのコマンドは,省略時の出力ファイル MONITOR.DAT にバイナリ・データを記録する。
2 番目のコマンドは,MONITOR.DAT のデータを入力データとして,入出力統計をプレイバックして表示する。プレイバック・データの省略時の表示時間は 3 秒間だが,スクリーンには監視された入出力統計が 5 秒間ずつ表示される。
$ MONITOR/RECORD/NODISPLAY - _$ /BEGINNING=08:00:00 - _$ /ENDING=16:00:00 - _$ /INTERVAL=120 DISK . . . $ MONITOR/INPUT/DISPLAY=HOURLY.LOG/INTERVAL=3600 DISK |
このコマンドの列は,比較的短い間隔でデータを記録し,比較的長い間隔でデータをプレイバックしている。この方法は,さまざまな時間での平均値,最小値,最大値を求めるので,長い間隔で収集したときより正確な値が必要なときに便利である。
最初のコマンドは,指定された 8 時間に 2 分間隔で,システム上のすべてのディスクの入出力動作に関するデータを記録する。 2 番目のコマンドは,1 時間ごとにデータをプレイバックして表示し,その内容を HOURLY.LOG というファイルに保存する。このファイルを表示またはプリントすれば,データを収集した 8 時間の 1 時間ごとのディスクの累計使用量が分かる。
HOURLY.LOG 内の現在の統計値は,新しい 3600 秒の収集期間ではなく,もとの 120 秒の収集期間における現在のデータを示しています。 |
$ MONITOR/INPUT/NODISPLAY/SUMMARY=DAILY.LOG DISK |
前の例で作成された記録ファイルを使用し,データを収集した 8 時間の平均値を示す 1 ページの要約レポート・ファイルを作成する。要約レポートの形式は画面表示と同じになる。次に例を示す。
OpenVMS Monitor Utility DISK I/O STATISTICS on node TLC From: 25-JAN-2000 08:00:00 SUMMARY To: 25-JAN-2000 16:00:00 I/O Operation Rate CUR AVE MIN MAX DSA0: SYSTEM_0 0.53 1.50 0.40 3.88 DSA1: SYSTEM_1 0.00 0.39 0.00 8.38 DSA4: WORK_0 0.00 0.11 0.00 1.29 DSA5: WORK_1 0.03 0.87 0.00 5.95 DSA6: WORK_2 0.03 0.25 0.00 2.69 DSA7: WORK_3 0.04 0.97 0.00 20.33 DSA17: TOM_DISK 0.00 0.04 0.00 0.80 DSA23: MKC 0.00 0.00 0.00 0.13 $4$DUA0: (RABBIT) SYSTEM_0 0.20 0.65 0.17 1.97 $4$DUA2: (RABBIT) SYSTEM_0 0.20 0.65 0.17 1.97 $4$DUA3: (RABBIT) SYSTEM_1 0.00 0.14 0.00 2.49 PLAYBACK SUMMARIZING |
適切な特権を持っていれば, DECnet によってローカル・システムに接続されている任意のシステムから MONITOR データを収集することができます。収集中のデータは,同時にローカル・システム上に表示することができます。その場合,次の手順に従います。
$ ! $ ! * Enable MONITOR remote playback * $ ! $ MONITOR /NODISPLAY/RECORD=SYS$NET ALL_CLASSES |
DEFINE 遠隔ノード論理名 ノード名::タスク=モニタ |
ログイン・コマンド・プロシージャの中でアクセスしたいすべてのシステムの論理名を定義することもできる。
MONITOR/INPUT=遠隔ノード論理名 クラス名 |
MONITOR.COM ファイルを省略時の DECNET ディレクトリ以外のディレクトリに置き,アクセス制御文字列または代理のアカウントを使用して,これらのコマンド・ファイルを遠隔呼び出しすることも可能です。
MONITOR をローカル・システムで呼び出した場合は,遠隔システム上にコマンド・ファイル MONITOR.COM を実行するプロセスが生成されます。したがって,遠隔システムではこのプロセスに関連する CPU および DECnet のオーバヘッドが発生します。このオーバヘッドは,MONITOR.COM ファイルの中に /INTERVAL 修飾子とクラス名のリストを加えることによって制限できます。
混在バージョンのクラスタ・システムにおいて,遠隔で監視を行う方法については 第 20.8.10 項 で説明しています。
20.8.8 記録ファイルの更新
記録ファイルの更新は,プレイバックと記録の 2 つの操作を組み合わせて行われます。この機能を使用すると,記録ファイルのデータの量を減らすことができます。既存の記録ファイルをプレイバックする場合は, MONITOR のすべてのオプションを利用できます。したがって,記録されているデータから特定のクラス,時間帯,記録する間隔を選択することができます。
これらの操作により,記録されたデータの一部を削除した,サイズが小さな記録ファイルが新しく作成されます。収集する間隔を長くするとデータの量は少なくなり,それだけ新しい記録ファイルから表示または要約されるデータの精度は低くなります。この場合,平均の割合を示す値は影響されませんが,サンプル・データのサイズが小さいために,平均のレベルを示す値の精度は低くなります。次の例は,記録ファイルの更新方法を示しています。
$ SUBMIT MONREC.COM |
MONREC.COM は次のコマンドを含んでいます。
$ MONITOR/NODISPLAY/RECORD/INTERVAL=60 /BEGINNING=8:00/ENDING=16:00 DECNET,LOCK $ MONITOR/INPUT/NODISPLAY/RECORD DECNET |
最初のコマンドはバッチ形式で動作し,午前 8 時から午後 4 時までの間, 1 分ごとに DECnet とロック管理に関する情報を記録します。 2 番目のコマンドは最初のコマンドが完了すると発行され, MONITOR.DAT ファイルの新しいバージョンを作成して DECnet に関するデータだけを再記録します。
20.8.9 MONITOR の継続実行
MONITOR をバックグランド・プロセスとして継続して実行することにより,システムの性能に関する情報を記録したデータベースを構築することができます。 ここでは,クラスタ管理者として,マルチファイルのクラスタ全体の要約を作成するために使用できるプロシージャの例を示します。
このコマンド・プロシージャを自分のサイトに合うように,変更することができます。なお,SYSTARTUP.COM に論理名 SYS$MONITOR および MON$ARCHIVE を定義してからでないと,コマンド・ファイルを実行することはできません。
論理名 SYS$EXAMPLES が指すディレクトリに,データベースの構築に利用できる 3 つのコマンド・プロシージャが含まれています。これらのプロシージャのインストールおよび実行の方法は,各プロシージャの先頭のコメントに示されています。 表 20-10 で,これらのプロシージャについて簡単にまとめます。
プロシージャ名 | 説明 |
---|---|
MONITOR.COM | 前回のブート時に作成された記録ファイルから要約ファイルを作成し,今回のブートの記録を開始する。記録の間隔は 10 分。 |
MONSUM.COM | 複数のファイルから構成されるクラスタ全体の要約レポートを 2 種類作成して,システム管理者にメールする。一方のレポートには過去 24 時間の情報が記録され,もう一方のレポートには前日のプライム・タイム (午前 9 時から午後 6 時まで) の情報が記録される。このプロシージャは,毎日夜中に実行するように,自身をキューに再登録する。 |
SUBMON.COM | MONITOR.COM を独立プロセスとして実行する。サイト別スタートアップ・コマンド・プロシージャから SUBMON.COM を起動する。 |
MONITOR で継続的にデータを記録しながら,特定の期間の要約レポートを作成することができます。 MONSUM.COM コマンド・プロシージャは毎晩夜中に実行され, 表 20-10 に示す複数のファイルから構成される 2 つの要約レポートを生成し,メールします。これらのレポートはファイルに保存されません。内容を残すためには,メール・ファイルから情報を抽出するか,レポートを保存するように MONSUM.COM コマンド・プロシージャを変更します。
前へ | 次へ | 目次 | 索引 |