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