Oracle Solaris Studio 12.2: パフォーマンスアナライザ

Solaris OS での時間ベースのプロファイル

Solaris OS での時間ベースのプロファイルでは、各 LWP の状態が定期的な間隔で格納されます。この時間間隔は、プロファイル間隔と呼ばれます。この情報は整数の配列に格納されます。その配列の 1 つの要素は、カーネルによって維持される 10 個のマイクロアカウンティングの各状態に使用されます。収集されたデータは、各状態で消費された、プロファイル間隔の分解能を持つ時間値に、パフォーマンスアナライザによって変換されます。デフォルトのプロファイル間隔は、約 10 ミリ秒 (10 ms) です。コレクタは、約 1 ミリ秒の高分解能プロファイル間隔と、約 100 ミリ秒の低分解能プロファイル間隔を提供し、OS で許されれば任意の間隔を許可します。引数を付けずに collect コマンドを実行すると、このコマンドが実行されるシステム上で許される範囲と分解能が出力されます。

次の表に、時間ベースのデータから計算されるメトリックスの定義を示します。

表 2–1 Solaris タイミングメトリックス

メトリック 

定義 

ユーザー CPU 時間 

CPU のユーザーモードで実行中に使用される LWP 時間。 

時計時間 

LWP 1 で使用される LWP 時間。通常は、「実経過時間」です。 

LWP 合計時間 

LWP 時間の総合計。 

システム CPU 時間 

CPU のカーネルモードまたはトラップ状態で実行中に使用される LWP 時間。 

CPU 待ち時間 

CPU の待機中に使用される LWP 時間。 

ユーザーロック時間 

ロックの待機中に使用される LWP 時間。 

テキストページフォルト時間 

テキストページの待機中に使用される LWP 時間。 

データページフォルト時間 

データページの待機中に使用される LWP 時間。 

ほかの待ち時間 

カーネルページ待機中に使用される LWP 時間、またはスリープ中か停止中に使用される時間。 

マルチスレッドの実験では、すべての LWP にまたがって実経過時間以外の時間が集計されます。定義した時計時間は、MPMD (Multiple-Program Multiple-Data) プログラムには意味がありません。

タイミングメトリックスは、プログラムがいくつかのカテゴリで時間を費やした部分を示し、プログラムのパフォーマンス向上に役立てることができます。