curt コマンド

目的

CPU 使用率レポートをトレースから生成します。

構文

curt I 入力ファイル [- 出力ファイル] [N GensymsFile] [-m (M) トランザクション・ファイル] [-a 値 PIDNAME ファイル] [「-f」 タイムスタンプ] [- タイムスタンプ] [- PURR] [-e (E)時間PSTP] [-@ {ALL | WPAR リスト}]

説明

curt コマンドは、 AIX® トレース・ファイルを入力として使用し、プロセッサー (CPU) 使用率とプロセス/スレッド/スレッド・アクティビティーに関連する多数の統計情報を作成します。 このコマンドは、プロセッサー・クロックが適切に同期化されていれば、ユニプロセッサーとマルチプロセッサーの両方の AIX トレースを処理します。

trace コマンドを使用して収集される AIX トレース・ファイルには、少なくとも以下のようなトレース・イベント (トレース・フック) が含まれている必要があります。
  HKWD_KERN_SVC, HKWD_KERN_SYSCRET, HKWD_KERN_FLIH, HKWD_KERN_SLIH,
  HKWD_KERN_SLIHRET, HKWD_KERN_DISPATCH, HKWD_KERN_RESUME, HKWD_KERN_IDLE,
  HKWD_SYSC_FORK, HKWD_SYSC_EXECVE, HKWD_KERN_PIDSIG, HKWD_SYSC__EXIT
  HKWD_SYSC_CRTHREAD, HKWD_KERN_INITP, HKWD_NFS_DISPATCH, HKWD_CPU_PREEMPT,
  HKWD_DR, HKWD_KERN_PHANTOM_EXTINT, HKWD_RFS4_VOPS, HHKWD_RFS4_VFSOPS, HKWD_RFS4_MISCOPS, HKWD_RFS4,
  HKWD_KERN_HCALL, HKWD_WPAR,
  HKWD_PTHREAD_VPSLEEP, HKWD_PTHREAD_GENERAL

これらは、curt が統計情報を計算するために調べるイベントです。

これは、trace コマンドに -j フラグを指定した場合は curt に以下の番号を組み込まなければならないということを意味します。
-j 100,101,102,103,104,106,10C,119,134,135,139,200,210,215,38F,419,465,47F,488,489,48A,48D,492,4C9,605,609
または、代わりに -J curt を使用できます。
PTHREAD フックをトレースに入れるには、インスツルメントされた libpthreads.aを使用して pthread アプリケーションを実行する必要があります。 これを行う 1 つの方法は、アプリケーションを開始する前に以下の 3 つのステップを実行することです (KornShell 構文)。
  1. mkdir /temp.lib; cd /temp.lib
  2. ln -s /usr/ccs/lib/perf/libpthreads.a
  3. export LIBPATH=$PWD:$LIBPATH
ユーザーの pthread インスツルメンテーションを活動化するには、インスツルメンテーション・ライブラリー・ディレクトリーを LIBPATH に入れる必要があります。 temp.lib ディレクトリーは任意の場所に置くことができます。

フラグ

項目 説明
-i 入力ファイル 分析する入力 AIX トレース・ファイルを指定します。
-o 出力ファイル 出力ファイルを指定します (デフォルトは標準出力)。
-n gensymsfile gensyms によって生成される名前ファイルを指定します。
-m trcnmfile trcnm によって生成される名前ファイルを指定します。
-a pidnamefile プロセス名マッピング・ファイルに PID を指定します。
-f タイム・スタンプ timestamp に指定された時点にトレースの処理を開始します。
-l タイム・スタンプ timestamp に指定された時点にトレースの処理を停止します。
-r PURR (除去) PURR レジスターを使用して、CPU 時間を計算します。
-e システム呼び出しおよび pthread 呼び出しに関する経過時間情報を出力します。
-h 使用方法テキスト (この情報) を表示します。
-p 詳細プロセス情報を出力します。
-s システム呼び出しによって戻されたエラーに関する情報を出力します。
-t 詳細スレッド情報を出力します。
-P 詳細 pthread 情報を出力します。
-@ curt レポートへの ワークロード・パーティション 情報の追加を制御します。
-@ フラグを次のいずれかの形式で使用できます。
-@
workload partitionsの要約を出力します。 この要約には、さまざまな実行モードでの ワークロード・パーティション のプロセッサー使用量が含まれます。 さらに、プロセス、スレッド、または pthread によるプロセッサー使用率の要約を示す、リストされたプロセスの WPAR 名が表示されます。
-@ すべて
システムおよびすべての ワークロード・パーティションに関するレポートを出力します。 レポートは、システム全体の WPAR 名または SYSTEM を含む 3 行で区切られます。
-@ WparList
WparList パラメーターで指定された ワークロード・パーティション に関するレポートを出力します。これは、 WPAR 名のコンマ区切りリストです。 レポートは、 WPAR 名を含む 3 行で区切られます。

trace プロセス名テーブルが正確でないか、またはより説明的な名前が望ましい場合は、-a フラグを使用して、PID からプロセス名へのマッピング・ファイルを指定してください。 これは、プロセス ID (10 進数)、それに続くスペース、さらにその次に続く ASCII 文字列 (これがそのプロセスの名前として使用されます) から構成される行が入っているファイルです。

入力 AIXトレース・ファイルが -n フラグを指定して作成された場合は、次のようになります。 curt はそのアドレス/名前テーブルを使用して、curt コマンド・ラインで -m または -n フラグを指定しない 場合は 、システム・コールと Slih のアドレスを名前に解決します。

入力 AIXトレース・ファイルが ワークロード・パーティションに作成されると、 curt コマンドは WPAR レポートを出力します。 この場合、-@ フラグは使用できません。

レポートの内容

curt レポートには次の情報が含まれます。

curt およびトレース情報

curt レポートの最初の数行には、curt プログラムが実行された時刻および curt の起動に使用されたコマンド・ラインが記述されています。 その後に、 curtによって処理される AIX トレース・ファイルに関する情報 (名前、サイズ、作成日、およびトレース・ファイルの収集に使用されるコマンド) が続きます。

-r PURR オプションが使用され、トレース・ファイルに PURR レジスターが含まれている場合、 PURR was used to calculate CPU times という行が出力されます。

システムの要約
このレポートの最初の主要なセクションは「System Summary」です。 このセクションには、システム全体 (すべてのプロセッサー) がさまざまな実行モードで費やした時間が記述されています。 以下に、それらのモードを示します。
アプリケーション
すべてのプロセッサーがユーザー (つまり、非特権) モードで費やした時間の合計です。
SYSCALL
すべてのプロセッサーがシステム呼び出しの実行に費やした時間の合計。 これは、プロセッサーがカーネル・コードで稼働して、ユーザー・プロセスから直接要求されたサービスの提供に費やした分の時間です。
HCALL
すべてのプロセッサーがハイパーバイザー・コールの実行に費やした時間の合計。 これは、プロセッサーが ハイパーバイザー・コードで、カーネルによって直接要求されたサービスの提供を実行するのに費やす 部分の時間です。
KPROC
すべてのプロセッサーが IDLE プロセスおよび NFS プロセス以外のカーネル・プロセスの実行に費やした時間の合計です。 これは、プロセッサーがカーネル・コードのみを実行する特別に作成されたディスパッチ可能プロセスの実行に費やした分の時間です。
NFS
すべてのプロセッサーが NFS オペレーションの実行に費やした時間の合計です。 NFS V2/V3 の場合、NFS オペレーションは RFS_DISPATCH_ENTRY サブフックで開始し、RFS_DISPATCH_EXIT サブフックで終了します。 NFS 操作は、 start で始まり、 done または done error ( NFS V4の場合) で終わります。
FLIH
すべてのプロセッサーが FLIH (第 1 レベル割り込みハンドラー) に費やした時間の合計です。
SLIH
すべてのプロセッサーが SLIH (第 2 レベル割り込みハンドラー) に費やした時間の合計です。
DISPATCH
AIX ディスパッチ・コード内のすべてのプロセッサーが費やした時間の合計。 この合計には、すべてのスレッドのディスパッチング (つまり、IDLE プロセスのディスパッチも含む) に費やされた時間が組み込まれています。
IDLE DISPATCH
ディスパッチされているプロセスが IDLE プロセスであった、 AIX ディスパッチ・コード内のすべてのプロセッサーによって費やされた時間の合計。 DISPATCH カテゴリーには IDLE DISPATCH カテゴリーの時間が含まれているため、IDLE DISPATCH カテゴリーの時間は、CPU (S) BUSY 時間または TOTAL を計算するために個別に加算されることはありません。
CPU(s) busy time
すべてのプロセッサーが APPLICATION、SYSCALL、KPROC、FLIH、SLIH、および DISPATCH モードでの実行に費やした時間の合計です。
IDLE
すべてのプロセッサーが IDLE プロセスの実行に費やした時間の合計です。
合計
CPU(s) busy time と IDLE の合計です。 この数は、 合計処理時間と呼ばれます。
processing total time (msec)」というラベルが付けられた欄には、対応する処理カテゴリーの合計時間がミリ秒単位で示されます。 percent total time というラベルの列は、処理合計時間を TOTAL 処理合計時間のパーセンテージとして示します。 「percent busy time」というラベルが付けられた欄には、CPU(s) busy time の処理合計時間に占めるパーセンテージとして処理合計時間が示されます。 「Avg. Thread Affinity」は、あるスレッドがそれを最後に実行したのと同じプロセッサーにディスパッチされた確率です。

「Total Physical CPU time (msec)」は、CPU (複数の場合もある) が稼働中であった (優先使用では ない) 実時間です。 「Physical CPU percentage」によって、合計時間に占めるパーセンテージとして 「Physical CPU Time」を示します。

注: WPAR レポートでは、システム要約情報は WPAR 要約とラベル付けされます。
システム・アプリケーションの要約
「System Summary」の次は、ユーザー・モードで費やした時間について詳しく説明する「System Application Summary」セクションです。 このセクションでは、すべてのプロセッサーが libpthread のさまざまなパートで実行するすべてのプロセスに費やした時間について記述します。
PTHREAD
すべての pthread が、トレースされた libpthread オペレーションに費やした時間の合計です。
PDISPATCH
すべての pthread が、libpthread ディスパッチ・コードに費やした時間の合計です。
PIDLE
すべての pthread が、libpthread vp_sleep コードに費やした時間の合計です。
その他
すべてのユーザー・モードのスレッドが、トレースされた libpthread オペレーション以外で費やした時間の合計です。
APPLICATION time
すべてのプロセッサーがユーザー・モードで費やした時間の合計です。
processing total time (msec)」というラベルが付けられた欄には、対応する処理カテゴリーの合計時間がミリ秒単位で示されます。 percent total time というラベルの列には、処理合計時間が、システム要約の TOTAL 処理合計時間のパーセンテージとして示されます。 「percent application time」というラベルの付けられた欄には、APPLICATION 処理合計時間に占めるパーセンテージとして処理合計時間が示されます。 Avg. Pthread Affinity は、pthread が最後に実行されたスレッドと同じスレッドにディスパッチされた確率です。
注: WPAR レポートでは、システム・アプリケーション要約情報は WPAR アプリケーション要約とラベル付けされます。
s 要約
-@ フラグを指定すると、レポートの「WPAR summary」が生成されます。 要約の列見出しとして示されている、 ワークロード区画に関する以下のシステムおよびシステム・アプリケーションの情報は、すべての ワークロード区画 で費やされた時間を詳細に説明しています。
appli
WPAR によってユーザー・モード (非特権) で費やされた合計処理時間のパーセント。
syscall
WPAR がシステム・コールの実行に費やした合計処理時間の割合 (%)。
hcall
WPAR がハイパーバイザー・コールの実行に費やした合計処理時間の割合 (%)。
kproc
WPAR がカーネル・プロセス呼び出しの実行に費やした合計プロセス時間のパーセント。
nfs
WPAR が NFS 操作の実行に費やした合計処理時間の割合 (%)。
flih
第 1 レベル割り込みハンドラーで WPAR によって費やされた合計処理時間の割合 (%)。
slih
第 2 レベル割り込みハンドラーで WPAR によって費やされた合計処理時間の割合 (%)。
合計
WPARによって費やされた合計処理時間の割合 (%)。
total(msec)
WPARによって使用されたプロセッサー時間の合計 (ミリ秒)。
WPAR
WPAR 名。
注: 「WPAR の要約」は、システム全体のレポートでのみ生成されます。
プロセッサーごとの要約

「System Application Summary」の次は「Per Processor Summary」セクションです。これは、本質的には同じ情報ですが、プロセッサーごとに分類されています。 「システム要約」の説明では、 「すべてのプロセッサーが費やした時間の合計」 という句は、 このプロセッサーが費やした時間に置き換えることができます。 プロセス・ディスパッチの総数は、 AIX がこのプロセッサーに非 IDLE プロセスをディスパッチした回数を示し、アイドル・ディスパッチの総数は IDLE プロセス・ディスパッチの数を示します。

Total Physical CPU time (msec)」は、プロセッサーが稼働中であった (優先使用では ない) 実時間です。 「Physical CPU percentage」に よって、「Physical CPU Time」を合計時間に占めるパーセンテージとして 示します。

Physical processor affinity」は、論理プロセッサーが 最後に実行したのと同じ物理プロセッサーに対してディスパッチされた 確率です。 優先使用の合計数は、仮想プロセッサーがある物理 CPU に対して再ディスパッチされた 回数です。

Total number of H_CEDE」は、このプロセッサーによって 行われた H_CEDE ハイパーバイザー・コールの回数であり、「with preeemption」は、結果が 優先使用になる H_CEDE コールの数を示します。

Total number of H_CONFER」は、このプロセッサーによって 行われた H_CONFER ハイパーバイザー・コールの回数であり、「with preeemption」 は、結果が優先使用になる H_CONFER コールの回数を示します。

注: プロセッサーごとの要約は、 WPAR レポートには生成されません。
プロセッサーごとのアプリケーション要約

「Per Processor Summary」の次は「Per Processor Application Summary」セクションです。 これは、本質的には「System Application Summary」と同じ情報ですが、プロセッサーごとに分類されています。

Total number of pthread dispatches は、libpthread がこのプロセッサー上で pthread をディスパッチした回数を示し、 Total number of pthread idle dispatches は vp_sleep の呼び出し回数を示します。

注: プロセッサー・アプリケーションごとの要約は、 WPAR レポートには生成されません。
アプリケーション要約

このレポートの 2 番目の主要なセクションは「Application Summary」です。 このセクションの最初の部分では、合計システム処理時間がスレッドごと (TID 別) に要約されています。 要約では、プロセス ID (および使用可能な場合は名前) とスレッド ID で識別される各スレッドについて、アプリケーション (APPLICATION と同じ) とシスコール (SYSCALL と同じ) の合計処理時間がミリ秒単位で示され、トレース内のすべてのプロセッサーの合計システム処理時間のパーセンテージとして示されます。 これに加え、この要約ではこの 2 つの時間の合計がロウ時間としてだけでなく、合計処理時間のパーセンテージとしても示されます。

このセクションの 2 番目の部分では、同じ情報がプロセス ID ごと (PID 別) に示されます。 このセクションの 3 番目の部分では、同じ情報がプロセス名ごと (プロセス・タイプ別) に示されます。

このセクションの 4 番目の部分では、カーネル・プロセス・スレッドに関して類似の情報が示されます (「Kproc Summary」)。 ほとんどの kproc は特定のカーネル・サービスを提供するので、合計処理時間は operation と kernel という 2 つのカテゴリーに分けられます。これらは、常にカーネル・コード内で実行されるプロセスの場合の syscall と application に大体対応します。 それぞれの kproc スレッドは、名前、プロセス ID、スレッド ID、および kproc のタイプ (分かっている場合) によって識別されます。 kproc のタイプは、この要約の直後に続くテーブルでリストおよび説明されています。

このセクションの 5 番目の部分は「Pthread Process Summary」です。 このセクションでは、マルチスレッド・プロセスの合計アプリケーション時間を (PID ごとに) 説明します。 この要約では、プロセス ID (使用可能な場合は名前も) によって識別されるそれぞれのプロセスごとに、アプリケーション、pthread およびその他のプロセス時間の合計がミリ秒単位で示され、さらにトレース内のすべてのプロセッサーを対象とした合計アプリケーション時間に占めるパーセンテージとして示されます。

この要約内の 5 つのすべてのセクションは、最大 combined 処理時間から最小 combined 処理時間へという順序に従ってソートされた状態で示されます。

-@ フラグを指定すると、アプリケーション要約の 5 つのセクションすべてに、スレッドまたはプロセスを識別するための WPAR 名が追加されます。

注: PID および Tid (プロセス ID およびスレッド ID) は常に 10 進数で示されます。
システム呼び出しの要約

このレポートの 3 番目の主要なセクションは「System Calls Summary」です。 このセクションでは、システム呼び出しに費やされた処理時間が要約されています。 この要約では、カーネル・アドレス (使用可能な場合は名前も使用) によって識別されるそれぞれのシステム呼び出し (SVC) ごとにその SVC が呼び出された回数が示され、さらにすべての呼び出しを対象とした合計処理時間がミリ秒単位で、およびトレース内のすべてのプロセッサーを対象とした合計システム処理時間に占めるパーセンテージとして示されます。 これに加え、この要約ではその SVC に対する 1 回の呼び出し当たりの平均時間、最小時間、および最大時間が示されます。 -e フラグが指定されている場合は、この要約ではその SVC に対するすべての呼び出しを対象とした合計経過時間と、1 回の呼び出し当たりの平均、最小、および最大経過時間が示されます。 経過時間は、プロセスがその SVC をカーネル・モードで実行し始めた時点からそのプロセスがアプリケーション・モードで実行を再開するまでの時間です。 この要約は、最大合計プロセッサー時間から最小合計プロセッサー時間へとソートされた順序で示されます。 -s フラグが指定されている場合は、この要約ではそれぞれのシステム呼び出しによって戻されたエラー・コード (errno) について、その回数がエラー・コード別に示されます。

このセクションの 2 番目の部分は「Pending System Calls Summary」です。 この部分には、開始されたが完了しなかったシステム呼び出しがリストされています。 示されている時間は、システムおよびさまざまなプロセッサーに関する SYSCALL 時間に 組み込まれ、SVC を発行した pthread、スレッド、およびプロセスに関する SYSCALL 時間に 組み込まれますが、このセクションの最初の部分のシステム呼び出しに関する処理時間には 組み込まれません。 保留中の呼び出しも、このセクションの最初の部分に示されているカウントには組み込まれていません。

注:
  1. システム・コール・アドレスは、常に 16 進数で示されます。 Pid および Tid は、常に 10 進数で示されます。
  2. -@ フラグを指定すると、スレッドまたはプロセスを識別するために「システム呼び出しの要約」に WPAR 名が追加されます。
システム・ハイパーバイザー呼び出しの要約

トレース内にハイパーバイザー・アクティビティーがある場合は、追加のセクションがレポートのこの点に 挿入されます。 レポートのこの主要セクションは、「Hypervisor Calls Summary」と 呼ばれています。 このセクションでは、ハイパーバイザー・コールで費やされた処理時間を 要約します。 名前 (およびカーネル・アドレス) によって識別された各ハイパーバイザー・コール (HCALL) ごとに、この要約では、HCALL が呼び出された回数、および すべての呼び出しの合計処理時間を、ミリ秒単位で、しかもトレース内の全プロセッサーの 合計システム処理時間に占めるパーセンテージとして示します。 さらに、要約では、HCALL に対する 1 回の呼び出し当たりの平均時間、最小時間、および最大時間を 示します。 -e フラグが指定されている場合は、この要約 では、HCALL に対するすべての呼び出しに関する合計経過時間と、1 回の呼び出し当たりの平均経過時間、最小経過 時間、および最大経過時間を示します。 経過時間とは、ハイパーバイザー・コールの開始と終了の間の 壁時計時間のことです。 この要約は、最大合計プロセッサー時間から最小合計プロセッサー時間へとソートされた順序で示されます。

このセクションの 2 番目の部分は、 Pending Hypervisor Calls Summaryと呼ばれます。 この部分には、開始されたが完了しなかったハイパーバイザー・コールがリストされています。 示されている時間は、システムおよびさまざまなプロセッサーに関する HCALL 時間に 組み込まれ、HCALL を発行した pthread、スレッド、およびプロセスに関するハイパーバイザー時間に 組み込まれますが、このセクションの最初の部分のハイパーバイザー・コールに関する処理時間には 組み込まれません。 保留中の呼び出しも、このセクションの最初の部分に示されているカウントには組み込まれていません。

注:
  1. ハイパーバイザー・コール・アドレスは、常に 16 進数で示されます。 Pid および Tid は、常に 10 進数で示されます。
  2. -@ フラグを指定すると、「System Hypervisor Calls Summary」において、スレッドまたはプロセスを識別するために WPAR 名が追加されます。
Pthread 呼び出しの要約

このレポートの 4 番目の主要なセクションは「Pthread Calls Summary」です。 このセクションでは、呼び出された pthread ルーチンに費やされた処理時間が要約されています。 この要約では、名前で識別されるそれぞれの pthread ルーチンごとにその pthread が呼び出された回数が示され、さらにすべての呼び出しを対象とした合計プロセッサー時間がミリ秒単位で、およびトレース内のすべてのプロセッサーを対象とした合計システム処理時間に占めるパーセンテージとして示されます。 さらに、この要約では pthread ルーチンに対する 1 回の呼び出し当たりの平均時間、最小時間、および最大時間が示されます。 -e フラグが指定されている場合は、この要約ではその pthread ルーチンに対するすべての呼び出しを対象にした合計経過時間と、1 回当たりの呼び出しの平均、最小、および最大経過時間が示されます。 経過時間は、プロセスがその pthread ルーチンを実行し始めた時点からそのプロセスが libpthread コードを終了するまでの時間です。 この要約は、最大合計プロセッサー時間から最小合計プロセッサー時間へとソートされた順序で示されます。

このセクションの 2 番目のパートは「Pending Pthread Calls Summary」です。 このパートには、開始されたが完了しなかった Pthread コールがリストされています。

-@ フラグを指定すると、「Pthread Calls Summary」において、スレッドまたはプロセスを識別するために 注: WPAR 名が追加されます。
システム NFS 呼び出しの要約

このレポートの主要なセクションは「System NFS Calls Summary」です。 このセクションでは、NFS オペレーションに費やされた処理時間が要約されています。 この要約では、 オペレーション名および NFS バージョンで識別されるそれぞれの NFS オペレーションごとにそのオペレーションが呼び出された回数が示され、 さらにすべての呼び出しを対象とした合計プロセッサー時間がミリ秒単位で、 および同じ NFS バージョンのすべてのオペレーションを対象とした合計 NFS オペレーション時間に占めるパーセンテージとして示されます。 これに加え、この要約ではそのオペレーションに対する 1 回の呼び出し当たりの平均時間、 最小時間、および最大時間が示されます。 -e フラグが指定されている場合は、 この要約ではそのオペレーションに対するすべての呼び出しを対象とした合計経過時間と、1 回の呼び出し当たりの平均、 最小、および最大時間が示されます。 合計経過時間は、同じ NFS バージョンのすべてのオペレーションを対象とした合計 NFS オペレーション経過時間に占めるパーセンテージとしても示されます。 経過時間は、 オペレーション・ディスパッチ入り口フックからオペレーション・ディスパッチ出口フックまでの時間です。 要約では常に、同じ NFS バージョンのすべてのオペレーションを対象とした合計 NFS オペレーション呼び出しに占めるパーセンテージとしてのオペレーション呼び出しのカウントが示されます。 要約は、オペレーション・コードの番号順に示されます。 オペレーションは、NFS バージョンの順に示されます。 NFS V4 の場合、サーバー・オペレーションはクライアント・オペレーションの前にリストされます。

「System NFS Calls Summary」の次に、「Pending NFS Calls Summary」が続きます。 この部分には、開始されたが完了しなかった NFS 呼び出しがリストされています。 示されている時間は、システムおよび各種のプロセッサーについての NFS 時間に組み込まれ、 さらにその NFS 呼び出しを発行したスレッドおよびプロセスについてのオペレーション時間に組み込まれていますが、 このセクションの最初の部分に示されている NFS オペレーションの処理時間には組み込まれていません。 保留中の呼び出しも、このセクションの最初の部分に示されているカウントには組み込まれていません。

-@ フラグを指定すると、スレッドまたはプロセスを識別するために、 注: WPAR 名が「System NFS Calls Summary」に追加されます。
反転の要約

このレポートの 5 番目の主要なセクションは「Flih Summary」です。 このセクションでは、第 1 レベル割り込みハンドラー (FLIH) に費やされた時間の量が要約されています。 この要約の最初の部分には、トレース内の各 FLIH へのエントリーの合計数と、すべてのプロセッサーによるその FLIH のすべての実行の合計プロセッサー時間がミリ秒単位で示されます。 さらに、この要約では 1 回の実行当たりの平均時間、最小時間、および最大時間が示されます。 それぞれの FLIH は、システム定義の FLIH タイプ、および対応する FLIH 名 (分かっている場合) によって識別されます。

2 番目の部分は、同じ情報がプロセッサーごとに分類されたものです。 システムで発生したすべての FLIH がそれぞれどのプロセッサーでも発生したとはかぎらないので、「Global Flih」リストが各プロセッサーごとの「Flih」リストと同じでない可能性があります。

このセクションの 2 番目の部分に「Pending Flih Summary」が組み込まれる場合があります。 これは、開始されたが完了しなかった FLIH のリストです。 示されている時間は、システムおよび影響を受けるプロセッサーについての FLIH 時間には組み込まれていますが、このセクションの両方の部分に示されている FLIH の処理時間には組み込まれていません。 保留中の FLIH も、このセクションの両方の部分に示されているカウントには組み込まれていません。

スライドサマリー

このレポートの 5 番目の主要なセクションは「Slih Summary」です。 このセクションでは、第 2 レベル割り込みハンドラー (SLIH) に費やされた時間の量が要約されています。 この要約の最初の部分には、トレース内の各 SLIH へのエントリーの合計数と、すべてのプロセッサーによるその SLIH のすべての実行の合計プロセッサー時間がミリ秒単位で示されます。 さらに、この要約では 1 回の実行当たりの平均時間、最小時間、および最大時間が示されます。 それぞれの SLIH は、カーネル・アドレス、および SLIH 機能 (つまりモジュール) の名前 (分かっている場合) によって識別されます。

2 番目の部分は、同じ情報がプロセッサーごとに分類されたものです。 システムで発生したすべての SLIH がそれぞれどのプロセッサーでも発生したとはかぎらないので、「Global Slih」リストが各プロセッサーごとの「Slih」リストと同じでない可能性があります。

このセクションの 2 番目の部分に「Pending Slih Summary」が組み込まれる場合があります。 これは、開始されたが完了しなかった SLIH のリストです。 示されている時間は、システムおよび影響を受けるプロセッサーについての SLIH 時間には組み込まれていますが、このセクションの両方の部分に示されている SLIH の処理時間には組み込まれていません。 保留中の SLIH も、このセクションの両方の部分に示されているカウントには組み込まれていません。

詳細なプロセス情報
レポートのこのセクションは、-p フラグが指定されている場合に生成されます。 ここには、トレースで検出された各プロセスについての詳細情報が示されます。 この情報は以下のとおりです。
  • そのプロセスのプロセス ID (Pid)、プロセス名 (既知の場合)、および WPAR 名 ( -@ フラグを指定した場合)。
  • そのプロセスのスレッド ID (Tid) の数およびリスト。
  • そのプロセスの pthread ID (Ptid) の数およびリスト (ある場合)。
  • アプリケーション (ユーザー) モード、システム・コール・モード、および ハイパーバイザー・モードで費やされた時間が示されます。 kproc の場合は、その代わりに kernel モードおよび operation モードで費やされた時間が示されます。
  • アプリケーション・モード、pthread オペレーション、libpthread ディスパッチ、および vp_sleep でそれぞれ費やされた時間の詳細。 プロセスに対する Ptid がある場合のみ表示されます。
  • このプロセスの pthread が実行した pthread コールの種類に関する情報。 NFS kproc の場合は、このプロセスのスレッドが実行した NFS 呼び出しに関する情報が表示されます。 -e フラグもこの出力に影響を与えます。
  • このプロセスのスレッドが実行したハイパーバイザー・コールの種類に関する情報。 -e フラグもこの出力に影響を与えます。
  • このプロセスのスレッドが実行したシステム呼び出しの種類に関する情報。 -e フラグもこの出力に影響を与えます。
プロセスは、最大 combined application 処理時間および最大 syscall 処理時間から最小 combined application 処理時間および最小 syscall 処理時間へという順序に従ってソートされた状態で示されます。
詳細スレッド情報
レポートのこのセクションは、-t フラグが指定されている場合に生成されます。 ここには、トレースで検出された各スレッドについての詳細情報が示されます。 この情報は以下のとおりです。
  • そのスレッドのスレッド ID (Tid) とプロセス ID (Pid)、プロセス名 (既知の場合)、および WPAR 名 ( -@ フラグを指定した場合)。
  • アプリケーション (ユーザー) モード、システム・コール・モード、および ハイパーバイザー・コール・モードで費やされた時間が示されます。 kproc の場合は、その代わりに kernel モードおよび operation モードで費やされた時間が示されます。
  • このスレッドが実行したシステム呼び出しに関する情報。 -s フラグが指定された場合は、システム呼び出しによって戻されたエラーに関する情報も 含まれます。 NFS kproc の場合は、このスレッドが実行した NFS 呼び出しに関する情報が表示されます。 -e フラグもこの出力に影響を与えます。
  • このスレッドによって実行されたハイパーバイザー・コールに関する情報。 -e フラグもこの出力に影響を与えます。
  • プロセッサー親和性は、そのスレッドがそれを最後に実行したのと同じプロセッサーにディスパッチされた確率を、そのスレッドのすべてのディスパッチを対象として示したものです。
  • Dispatch Histogram は、そのスレッドがシステム内のそれぞれの CPU にディスパッチされた回数を示します。
  • スレッドがディスパッチされた合計回数 (再ディスパッチは含まれない)。
  • 割り込みが使用不可になったための再ディスパッチの回数は、実行されたばかりのスレッドが割り込みマスクを INTMAX に設定してあったために、その同じスレッドが再度ディスパッチされたことを示します。 これは、ゼロ以外の場合にのみ表示されます。
  • 平均ディスパッチ待ち時間は、そのスレッドが最後にディスパッチ解除された時点からの平均経過時間 (つまり、そのスレッドが最後に実行を停止した時点からの平均経過時間) です。
  • このスレッドの実行中に発生した FLIH のタイプ別発生回数。 これらのタイプのいくつかは、そのスレッド (DSI や ISI など) が原因で発生する場合があります。一方、その他のタイプ (IO など) は、そのスレッド自体が原因で発生するとは限らず、そのスレッドの実行中に偶然発生する可能性があります。
スレッドは、最大 combined application 処理時間および最大 syscall 処理時間から最小 combined application 処理時間および最小 syscall 処理時間へという順序に従ってソートされた状態で示されます。
詳細 Pthread 情報
レポートのこのセクションは、-p フラグが指定されている場合に生成されます。 ここには、トレースで検出された各 pthread についての詳細情報が示されます。 この情報は以下のとおりです。
  • その pthread の Pthread ID (Ptid) とプロセス ID (Pid)、プロセス名 (既知の場合)、および WPAR 名 ( -@ フラグを指定した場合)。
  • アプリケーション (ユーザー) モード、カーネル・モード、および ハイパーバイザー・モードで費やされた時間が示されます。
  • アプリケーション時間の詳細。すなわち pthread コール、pthread ディスパッチ、および vp_sleep (pthread idle) に費やした時間、および他のアプリケーション時間。
  • この pthread が実行したシステム呼び出しの種類に関する情報。 -s フラグを指定した場合は、システム呼び出しによって戻されたエラーに関する情報も組み込まれます。 -e フラグもこの出力に影響を与えます。
  • この pthread が実行したハイパーバイザー・コールの種類に関する情報。 -e フラグもこの出力に影響を与えます。
  • この pthread が実行した pthread コールの種類に関する情報。 -e フラグもこの出力に影響を与えます。
  • プロセッサー親和性は、その pthread がそれを最後に実行したのと同じプロセッサーにディスパッチされた確率を、その pthread のすべてのディスパッチを対象として示したものです。
  • スレッドの「Dispatch Histogram」は、pthread がシステム内のそれぞれの CPU にディスパッチされた回数を示します。
  • pthread がディスパッチされた回数の合計 (再ディスパッチは含まれない)。
  • 割り込みが使用不可になったための再ディスパッチの回数は、実行されたばかりの pthread が割り込みマスクを INTMAX に設定してあったために、その同じ pthread が再度ディスパッチされたことを示します。 これは、ゼロ以外の場合にのみ表示されます。
  • 平均ディスパッチ待ち時間は、その pthread がカーネル・ディスパッチャーで最後にディスパッチ解除された時点からの平均経過時間 (つまり、その pthread が最後に実行を停止した時点からの平均経過時間) です。
  • スレッド親和性は、その pthread がそれを最後に実行したのと同じスレッドにディスパッチされた確率を、その pthread のすべてのディスパッチを対象として示したものです。
  • pthread の「Dispatch Histogram」は、pthread がシステム内のそれぞれのスレッドにディスパッチされた回数を示します。
  • libpthreads 内で pthread がディスパッチされた回数の合計。
  • 平均ディスパッチ待ち時間は、そのスレッドが libpthread ディスパッチャーで最後にディスパッチ解除された時点からの平均経過時間 (つまり、そのスレッドが最後に実行を停止した時点からの平均経過時間) です。
  • このスレッドの実行中に発生した FLIH のタイプ別発生回数。 これらのタイプのいくつかは、そのスレッド (DSI や ISI など) が原因で発生する場合があります。一方、その他のタイプ (IO など) は、そのスレッド自体が原因で発生するとは限らず、そのスレッドの実行中に偶然発生する可能性があります。

pthreads は Pid から Ptid の間でソートされて表示されます。

ファイル

項目 説明
/usr/bin/curt curt コマンドが入っています。 bos.perf.tools ファイルセットに配置されます。