GNU/Linux >> Linux の 問題 >  >> Linux

perf キャッシュ イベントの意味は何ですか?

perf チュートリアルによると、Performance Monitoring Unit (PMU) イベント または ハードウェア イベント CPU ベンダーの CPU 固有のイベントに直接マップできるイベントを参照してください。ただし、ハードウェア キャッシュ イベント perf によって提供されるいくつかのハードウェア イベント モニカを参照してください 、CPU によって提供される実際のイベントにマップされる場合があります。 perf のリストについて のキャッシュ イベントは perf list cache を使用します Linux ターミナルで。


いくつかの答え:

  • L1 レベル 1 キャッシュで、最小かつ最速です。 LLC 一方、キャッシュ階層の最後のレベルを指し、最大だが最も遅いキャッシュを示します。
  • id 命令キャッシュとデータキャッシュを区別します。 L1 のみがこのように分割され、他のキャッシュはデータと命令の間で共有されます。
  • TLB 仮想アドレスを物理アドレスにマッピングするときに使用されるキャッシュである変換ルックアサイド バッファを指します。
  • 指定されたアドレスが命令またはデータのどちらを参照しているかに応じて異なる TLB カウンター。
  • すべてのデータ アクセスについて、指定されたメモリ ロケーションが読み取り、書き込み、またはプリフェッチ (つまり、後で読み取りのために取得) されたかどうかに応じて、異なるカウンターが保持されます。
  • ミスの数は、特定のデータ項目がアクセスされた頻度を示しますが、はアクセスされませんでした

cache-misses event は、他のすべての種類のキャッシュ ミスの合計です (L1-dcache-load-misses 、 等々)。それは実際には正しくありません。

cache-misses イベントは、どのキャッシュでも処理できなかったメモリ アクセスの数を表します。

perf のドキュメントが最適ではないことは認めます。

ただし、perf_event_open() 関数のドキュメントを読むことで、それについてかなり多くのことを学ぶことができます (CPU とパフォーマンス監視ユニットがどのように機能するかについて十分な知識があると仮定すると、これは明らかにコンピューター アーキテクチャのコースではありません)。

http://web.eece.maine.edu/~vweaver/projects/perf_events/perf_event_open.html

たとえば、それを読むと、 cache-missesPERF_COUNT_HW_CACHE_MISSES に対応する perf リストで示されるイベント


Linux
  1. Linux のダーティ ページとは

  2. libtool の .la ファイルは何のためのものですか?

  3. *nix とはどういう意味ですか?

  1. vdso と vsyscall とは何ですか?

  2. GStreamer での「ブラックリスト」の意味は何ですか?

  3. build-essential と build-dep とは何ですか?

  1. POSIX とはどういう意味ですか?

  2. Linux での curl -k -i -X の意味は何ですか?

  3. RAM の 30% はバッファです。それは何ですか?