irisstat ユーティリティを使用した InterSystems IRIS の監視
このトピックでは、irisstat ユーティリティの使用方法の概要を説明します。これは、初めて使用するユーザは入門書として、熟練ユーザはリファレンスとしてご利用いただけます。
このユーティリティを使用する際、適切な irisstat オプションを指定するためのガイダンスやユーティリティが生成するデータを解釈するためのサポートが必要な場合は、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。
irisstat は InterSystems IRIS® Data Platform と共に配布される C 実行可能ファイルで、InterSystems IRIS の停止、ネットワークの問題、およびパフォーマンスの問題を含むシステム・レベルの問題の診断ツールです。実行すると、irisstat は、起動時に InterSystems IRIS によって割り当てられた共有メモリ・セグメントにアタッチし、InterSystems IRIS インスタンス の内部構造とテーブルをユーザが読み取り可能な形式で表示します。共有メモリ・セグメントには、グローバル・バッファ、ロック・テーブル、ジャーナル・バッファ、およびすべての InterSystems IRIS プロセスがアクセスできることが必要な他のさまざまなメモリ構造が含まれます。プロセスはまた、それぞれの変数とスタック情報のために、自らのプロセス・プライベート・メモリを保持します。irisstat の基本的な表示専用オプションは高速で、InterSystems IRIS に対して非侵襲的です。
より詳細な (ドキュメント化されていない) オプションは共有メモリを変更する可能性があるため、注意して使用することが必要です。こうした詳細オプションは、インターシステムズのサポート担当者の指示に従ってのみ使用してください。詳細は、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。
irisstat 実行の基礎
システムの問題が発生した場合、irisstat レポートは多くの場合、インターシステムズが問題の原因を判別するうえでの最も重要なツールになります。以下のガイドラインを使用して、irisstat レポートに必要な情報がすべて含まれるようにしてください。
-
イベント発生時に irisstat を実行します。
-
インターシステムズのサポート担当者が他の方法を指示した場合を除き、診断レポート・タスクまたは IRISHung スクリプトを使用します。
-
irisstat レポートの内容をチェックして、それが有効であることを確認します。
irisstat は InterSystems IRIS に含まれる別個の実行可能ファイルであるため、オペレーティング・システムのプロンプトで InterSystems IRIS の外部で実行されます。したがって、実行の詳細はオペレーティング・システムによって異なります。
オプションなしで irisstat を実行するのは一般的ではありませんが、オプションなしで実行すると、以下の既定のオプションを使用して実行した場合と同じ基本的なレポートが生成されます。
-
-f (グローバル・モジュール・フラグ)
-
-p (PID テーブル)
-
-q (セマフォ)
irisstat オプションについては、"オプションを使用した irisstat の実行" を参照してください。
Windows での irisstat の実行
irisstat の実行可能ファイルは、install-dir\bin ディレクトリにあります。Windows のコマンド・プロンプトを管理者として起動すると、以下のようにコマンドを実行できます。
C:\>cd install-dir\bin C:\install-dir\bin>irisstat
install-dir\bin または install-dir\mgr 以外のディレクトリから irisstat を実行する場合は、-s 引数を使用して、install-dir\mgr ディレクトリの場所を指定する必要があります。以下に例を示します。
C:\Users>\install-dir\bin\irisstat -s\install-dir\mgr
UNIX® での irisstat の実行
irisstat の実行可能ファイルは、install-dir/bin ディレクトリにあります。install-dir\bin または install-dir\mgr 以外のディレクトリから irisstat を実行する場合は、-s 引数を使用して、install-dir\mgr ディレクトリの場所を指定する必要があります。
UNIX® のコマンド・プロンプトを root として起動し、install-dir/bin ディレクトリまたは install-dir/mgr ディレクトリに移動し、irisstat コマンドを実行します。
bash-3.00$ ./irisstat
InterSystems IRIS のインストール・ディレクトリからのコマンドは以下のようになります。
bash-3.00$ ./bin/irisstat -smgr
また、以下の例で示されているように、irisstat は、任意のディレクトリから実行できる iris コマンドを介しても起動できます。
bash-3.00$ iris stat iris_instance_name
iris_instance_name は、irisstat を実行する InterSystems IRIS インスタンスの名前です。
オプションを使用した irisstat の実行
オプションを指定しないで irisstat を実行すると、基本的なレポートが生成されます。通常は、irisstat は特定の情報を取得するために実行します。ターゲット情報を指定するために、以下のようにオプションを含めたり除外したりできます。
-
オプションを含める (オンにする) には、フラグを指定し、その後に 1 (または他のレベル) を付けます。
-
オプションを除外する (オフにする) には、フラグを指定し、その後に 0 を付けます。
例えば、irisstat レポートにグローバル・ファイル・テーブル (GFILETAB) セクションを含めるには、-m1 オプションを使用します。
C:\iris-install-dir\Bin\irisstat -m1
既定の基本オプションをオフにするには、-a0 オプションを使用します。
C:\iris-install-dir\bin\irisstat -a0
多くのオプションでは、0 と 1 より細かいレベルを指定できます。こうした追加のレベルは、「2 の累乗として 10 進数で表示されてオプションに関する特殊な情報を制御するビットを持っている」と説明できます。例えば、PID テーブルを表示する基本的な -p オプションは 1 でオンにできますが、2 を使用すると swcheck 列が追加され、4 を使用すると pstate 列が追加され、以下同様になります。これらのビットは結合できます。例えば、2 ビットと 4 ビットの両方に表示される情報が必要な場合、-p6 と指定します。すべてのビットをオンにするには、次のように -1 を使用します。
bash-3.00$ ./irisstat -p-1
さらに、複数のフラグを 1 つの irisstat コマンドに結合できます。例えば、以下のコマンドは、基本オプションをオフにしてから、グローバル・モジュール・フラグと PID テーブルの全ビット、および GFILETAB の詳細レベルをオンにします。
bash-3.00$ ./irisstat -a0 -f-1 -p-1 -m3
複雑な問題の診断を開始する際は irisstat コマンドで多数のフラグを使用するのが一般的ですが、変更を加えるためのオプションは通常は単独で使用します。例えば、-d オプションはプロセス・ダンプを要求します。このオプションを使用する前に、ダンプするプロセスを特定するために、複数のオプションを使用して irisstat を実行することもあります。しかし、-d を使用するときは、通常は他のオプションは選択しません。
"irisstat オプション" のテーブルでは、irisstat コマンドで使用できるオプションについて説明しています。
このテーブルに示されている irisstat オプションによって生成されるデータの解釈についてサポートが必要な場合は、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。
オプション | 説明 |
---|---|
–a[0/1] | このテーブルに説明されているすべての情報を表示します。 |
–b[bits] |
グローバル・バッファ記述子ブロック (BDB) に関する情報を表示します。以下のビットの組み合わせを指定できます。
Note:
irisstat -b64 を実行すると、余計に時間がかかる場合があります。 |
–c[bits] |
システム・パフォーマンスの統計であるカウンタを表示します。以下のビットの組み合わせを指定できます。
|
–d[pid,opt] |
InterSystems IRIS プロセスのダンプを作成します。以下のオプションを指定できます。
|
–e[0/1/2] |
InterSystems IRIS システム・エラー・ログを表示します ("InterSystems IRIS システム・エラー・ログ" を参照してください)。–e2 を指定すると、追加のプロセス情報が表示されます (16 進数)。 |
–f[bits] |
グローバル・モジュール・フラグを表示します。以下のビットの組み合わせを指定できます。
|
–g[0/1] |
^GLOSTAT 情報を表示します。詳細は、"^GLOSTAT を使用したグローバル動作の統計収集" を参照してください。 |
–h |
irisstat の使用量情報を表示します。 |
–j[0/1/2/3/4/5/6] |
ジャーナリング状態に関する情報をリストするジャーナル・システムのマスタ構造を表示します。–j32 はミラー・サーバ情報を表示します。 |
-k | $PREFETCHON 関数によって使用される事前フェッチ・デーモンに関する情報を表示します。"$PREFETCHON" を参照してください。 |
–l[bits] |
最近最も使用されていない (LRU) グローバル・バッファ記述子ブロック (BDB) キューに関する情報を表示しますが、BDB のコンテンツは表示しません。以下のビットの組み合わせを指定できます。
Note:
"–b" も参照してください。 |
–m[0/1/3/4/8/16] |
InterSystems IRIS のインスタンスの起動以来マウントされ SFN によってリストされる全データベースの情報を含むグローバル・ファイル・テーブル (GFILETAB) を表示します。以下のビットの組み合わせを指定できます。
|
–n[0/1] |
ネットワーク構造およびローカル/リモート SFN 変換に関する情報を表示します。irisstat -n-1 と指定すると、ネームスペース構造も表示します。 |
-o1 | irisstat -c によって表示されたリソースの統計をクリアし、InterSystems IRIS を再起動せずに基本状況を再度確立します。出力は生成されません。 |
–p[bits] |
InterSystems IRIS で実行されるプロセスに関する情報を表示します。この情報はプロセス ID テーブル (PIDTAB) から取得されます。以下のフラグの組み合わせを指定できます。
|
–q[0/1] |
ハイバネーション・セマフォに関する情報を表示します。 |
-s[dir] | mgr ディレクトリまたは bin ディレクトリ以外の場所からコマンドを実行したときに irisstat 実行可能ファイルを含むディレクトリを指定します。 |
-t[seconds] | 停止されるまで、seconds 秒ごとにループで irisstat を繰り返し実行します。-f1 を指定したときのように、グローバル・モジュール・フラグ・セクションのみが表示されます。 |
–u[bits] |
ロック・テーブルに格納された InterSystems IRIS ロックに関する情報を表示します ("ロックの監視" を参照してください)。以下のビットの組み合わせを指定できます。
|
-v1 | 共有メモリ・セグメント irisstat に関連付けられた InterSystems IRIS 実行可能ファイルが実行中で、irisstat 実行可能ファイルが同じバージョンであることを確認します。このようになっていない場合、irisstat は実行されません。 |
–w[bits] |
ライト・デーモン・キューの BDB に関する情報を表示します。 |
–B[0/1] |
GBFSPECQ に保持されているブロックのコンテンツを 16 進数で表示します。 |
–C[0/1] |
ジョブ間コミュニケーション (IJC)・デバイスの構成情報を表示します。 |
–D[secs],[msecs][,0] |
'secs' 秒間隔のリソース統計情報を表示します。'msec' ミリ秒ごとのブロック衝突をサンプリングします。
Note:
–c と同じリソース情報。 "^BLKCOL を使用したブロック衝突の監視" で説明されている ^BLKCOL ユーティリティは、ブロック衝突に関する詳細情報を提供します。 |
–E[bits] |
クラスタリングをサポートするプラットフォーム上のクラスタの状態を表示します。以下のビットの組み合わせを指定できます。
|
–G[bdb] |
特定のバッファ記述子ブロック (BDB) のグローバル・バッファ記述子とグローバル・バッファのコンテンツを 16 進数で表示します。
Note:
情報が BDB 別に表示されるという点を除き、–H と同じです。 |
–H[sfn],[blk] |
特定のシステム・ファイル番号 (sfn) とブロック番号 (blk) のペアのグローバル・バッファ記述子とグローバル・バッファのコンテンツを 16 進数で表示します。
Note:
情報がシステム・ファイル番号とブロック番号のペア別に表示されるという点を除き、–G と同じです。 ブロックはバッファ・プールにあることが必要です。 |
–I[0/1] |
インクリメンタル・バックアップ・データ構造を表示します。 |
–L[0/1] |
ライセンスを表示します。 |
–M[0/1] |
メールボックスのログを表示します。
Note:
既定では無効になっています。メールボックスのメッセージを取得して記録するには、特殊なビルドが必要で、追加のログが必要とされる場合があります。 |
–N[value] |
ECP ネットワーク情報を表示します。以下の値の組み合わせを指定できます。
|
–R[value] |
使用中 (または変更中) のルーチン・バッファ、クラス制御ブロック (CCB)、および最近最も使用されていない (LRU) キューに関する情報を表示します。以下の値の組み合わせを指定できます。
|
–S[bits] |
システムが停止しているかどうかの自己診断に基づいて、停止の原因に関する情報を表示します。以下のビットの組み合わせを指定できます。
Note:
クラスタでは、すべてのクラスタ・メンバについてこのオプションを実行する必要があります。 |
–T[0/1] |
各国言語の設定 (NLS) テーブルを含む多数のメモリ内テーブルの 16 進数値を表示します。 |
–V[pid] |
プロセス・メモリ構造の一部である変数を表示します。ソース・コードにアクセスできる場合を除き、制限された値になります。
Note:
Windows でのみ有効です。pid.dmp ファイルを含むディレクトリから実行します。 |
-W | Backup.General.ExternalThaw()Opens in a new tab クラス・メソッドと同じ機能を実行します。また、新しい InterSystems IRIS セッションを起動できない場合に、Backup.General.ExternalFreeze()Opens in a new tab が呼び出された後にライト・デーモンを再開するために使用できます (これらのメソッドの使用の詳細は、"外部バックアップ" を参照してください)。このオプションは、バックアップ以外が原因で発生したハングまたは一時停止からライト・デーモンのフリーズを解除しません。このオプションの使用は、メッセージ・ログに記録されます。 |
–X[0/1] |
デバイス変換テーブルのコンテンツを表示します。これはデバイス番号別にまとめられ、数値と平文の両方でクラス ID を表示します。 |
irisstat 出力の表示
irisstat データは、(ターミナルを通して) 即座に表示できます。または、出力ファイルにリダイレクトして、後で分析できます。データを表示するための最も一般的な方法は、以下のとおりです。
InterSystems IRIS が強制的にシャットダウンされると、システムの現在の状態を取得するために irisstat が実行されます。出力は、緊急シャットダウン・プロシージャの一部としてメッセージ・ログに追加されます。
irisstat テキスト・ファイル
irisstat レポートは、ターミナルの代わりにファイルにリダイレクトできます。これは、InterSystems IRIS ツール (診断レポート・タスク、IRISHung スクリプト、^SystemPerformance ユーティリティ) のいずれかで提供されない一連の irisstat オプションを収集したい場合、またはこれらのツールをうまく実行できない場合に役立つ可能性があります。
診断レポート・タスク
診断レポート・タスクを実行すると、基本情報と詳細情報の両方を記録した HTML 形式のログ・ファイルが作成されます。このファイルは、システムの問題を解決するためにインターシステムズのサポート窓口Opens in a new tabが使用できます。診断レポート・タスクの詳細 (使用される irisstat オプションを含む) は、"InterSystems 診断レポートの使用法" を参照してください。
IRISHung スクリプト
IRISHung スクリプトは、InterSystems IRIS インスタンスが停止した場合にシステムのデータを収集するために使用される OS ツールです。このスクリプトは install-dir\bin ディレクトリにあり、以下のテーブルに示されているように、その名前はプラットフォーム固有になります。
プラットフォーム | スクリプト名 |
---|---|
Microsoft Windows | IRISHung.cmd |
UNIX®/Linux | IRISHung.sh |
IRISHung スクリプトは管理者特権で実行する必要があります。診断レポート・タスクと同じように、IRISHung スクリプトは irisstat を 2 回実行します。状態が変化している場合に備えて、これは 30 秒の間隔を空けて行われ、レポートは収集された他のデータと共に html ファイルにまとめられます。 IRISHung から取得された irisstat レポートは以下のオプションを使用します。
irisstat -e2 -f-1 -m-1 -n3 -j5 -g1 -L1 -u-1 -v1 -p-1 -c-1 -q1 -w2 -E-1 -N65535
IRISHung はまた、-S2 オプションだけを使用して 3 回目の irisstat を実行し、これは Self-Diagnosis という別個の出力セクションに書き込まれます。-S2 オプションを使用すると、疑わしいプロセスがミニダンプを出力します。このため、IRISHung を実行することで、停止の原因となった特定プロセスの情報を収集できる可能性がありますが、単にインスタンスを強制終了しても、この情報は収集できません。
さらに、IRISHung は irisstat 出力ファイルを生成します。この出力ファイルはしばしば非常に大きくなり、その場合は別個の .txt ファイルに保存されます。出力を収集する際は、こうした別個のファイルをチェックすることを忘れないでください。
^SystemPerformance ユーティリティ
^SystemPerformance ユーティリティは、InterSystems IRIS インスタンスおよびそのインスタンスが稼働するプラットフォームに関する詳細なパフォーマンス・データを収集します。これは設定可能な期間だけ InterSystems IRIS 内部で実行され、その期間のサンプルを収集し、終了するとレポートを生成します。^SystemPerformance ユーティリティの詳細 (使用される irisstat オプションを含む) は、"^SystemPerformance を使用したパフォーマンスの監視" を参照してください。