2

Shark を使用して L2 キャッシュ ミスをチェックしようとしていますが、うまくいきません。他のすべての Shark サンプリング モードは問題なく動作します。

4

2 に答える 2

0

... 少し遅れましたが、何らかの理由で、Shark が使用している CPU を検出できず、適切なハードウェア パフォーマンス カウンターがないと想定している可能性があります。

  1. 設定 -> 編集
  2. View ドロップダウンを Simple から Advanced に切り替えます
  3. CPUドロップダウンを「現在(不明)」からCPUに切り替えます
  4. 対象のパフォーマンス カウンターを有効にします。例: L2_line_in 。

どのパフォーマンスカウンターが何をするかについては、Intelアーキテクチャのマニュアル(私が思うに#3)をチェックしてください-残念ながら、直接のL1/L2/LLCミスカウンターがないことが多いため、他のカウンターの組み合わせが必要になるか、別のカウンターを推定値として使用する必要があります.

于 2010-06-20T01:56:21.950 に答える
0

すべての CPU が L2 キャッシュ ミス プロファイリングをサポートしているわけではありません (CPU のパフォーマンス レジスタによって異なります)。

また、N 回のキャッシュ ミスごとにサンプルを取得するだけなので、コードが多くのことを行っていない (キャッシュされていないメモリにアクセスしていない) 場合は、サンプルが表示されない可能性があることに注意してください。

于 2010-02-10T09:45:39.243 に答える