クリス・ドッドの回答に対する単一のコメントよりも長くなったため、自分の回答を書いています...
oprofile または perftool (基本的には oprofile と同じカーネル機能を使用) を使用すると、キャッシュ ヒットとミスを比較できます。アプリケーションが「持つべき」「キャッシュミス」または「キャッシュヒット」の数を言うのは難しいことに注意してください。実際には、同じアプリケーションの別の実行と数を比較することしかできません(微調整後ですが、どれだけかを見ることもできます)実行ごとに異なるため、非常に便利です)。
ページフォールトの正確な数はそれほど重要ではないと思います.「運」によって少し変わる傾向があります.
ページ フォールトはあらゆる原因で発生します。たとえば、メモリの大きなチャンクを割り当てると、ページが初めて使用されるときにそのメモリは「存在しません」になり、その時点で存在とマークされます (おそらくその時点でゼロで埋められます)。また、共有ライブラリが初期化されたときに関数が「存在しない」ため、共有ライブラリから関数をロードしてもページ フォールトが発生します。場合によっては、mmap
ファイルの読み取り/書き込み操作を使用する代わりに、アプリケーションの一部がファイルにマップするために使用することもあります (これはおそらく、ファイル I/O に関して考えていることです)。