現在、Last Level Cache ミスのハードウェア カウンターと参照をユーザー空間から読み取ることができます。wrmsr
それらを選択してrdpmc
から読み取ることができます。
ただし、一部のミスは、私がキャッシュにヒットしない非常に明白な参照ですが、他のミスははるかに微妙で、同じコード パスが複数回 (100,000 回) 実行されると移動することがあります。
これらのミスの一部はハードウェアのプリフェッチが原因であると思われるため、BIOS を介してハードウェアのプリフェッチャーを無効にしましたが、原因を突き止めるのが難しいスライド キャッシュ ミスがまだ発生しています。
Linux カーネルまたは Intel のレジスタのいずれかに、最新のラスト レベル キャッシュ ミスの原因となった命令のアドレスを特定する機能はありますか?
それが役に立つなら、私は で走っ2.6.32-279.el6.x86_64
ていIntel Xeon X3470
ます。