17.4. perf c2c 出力の解釈
perf c2c report --stdio コマンドを実行して表示される視覚化は、データを複数のテーブルに分類します。
- Trace Events Information
-
perf c2c recordコマンドによって収集されたすべての負荷およびストアサンプルの概要を示します。 - Global Shared Cache Line Event Information
- 共有キャッシュラインの統計情報を示します。
c2cDetails-
サンプリングされたイベントと、視覚表示内で
perf c2c reportのデータがどのように編成されているかに関する情報を示します。 - Shared Data Cache Line Table
- 偽共有が検出された最もアクセスの多いキャッシュラインに関する 1 行の概要を示します。デフォルトでは、キャッシュラインごとに検出されたリモート Hitm の量が多い順に並べ替えられます。
- Shared Cache Line Distribution Pareto
競合が発生している各キャッシュラインに関するさまざまな情報を示します。
-
キャッシュラインは NUM 列で番号
0から始まる番号です。 - 各キャッシュラインの仮想アドレスは Data address Offset の列に含まれます。また、その後に異なるアクセスが発生したキャッシュラインにオフセットが続きます。
- Pid 列にはプロセス ID が含まれます。
- Code Address 列には、インストラクションポインターコードアドレスが含まれます。
- cycles ラベル下の列には、平均負荷のレイテンシーが表示されます。
- cpu cnt 列には、サンプルが何個の CPU から取得されたかが表示されます。つまり、特定の場所でインデックス付けされたデータを待機していた CPU の数を示しています。
- Symbol 列には関数名またはシンボルが表示されます。
- Shared Object 列には、サンプルの取得元である ELF イメージの名前が表示されます (サンプルがカーネルから取得される場合は、[kernel.kallsyms] という名前が使用されます)。
- Source:Line 列には、ソースファイルと行番号が表示されます。
- Node{cpu list} 列には、各ノードに対して、どの特定の CPU サンプルが生成されたかが表示されます。
-
キャッシュラインは NUM 列で番号