LinuxでTLBミスを測定するコマンド?


11

誰かがLINUXでTLBミスを測定するコマンドを教えてもらえますか?TLBミスとしてマイナーページフォールトを考慮する(または概算する)ことはできますか?

回答:


10

あなたは使用することができますPERFハードウェアのパフォーマンスカウンタにアクセスするには:

$ perf stat -e dTLB-load-misses,iTLB-load-misses /path/to/command

例:

$ perf stat -e dTLB-load-misses,iTLB-load-misses /bin/ls > /dev/null

 Performance counter stats for '/bin/ls':

             5,775 dTLB-load-misses                                            
             1,059 iTLB-load-misses                                            

       0.001897682 seconds time elapsed

2

軽度の障害とTLBミスは良い類似物ではありません。要求されたページがメモリ内にあるが、現在のページテーブルにマップされていない場合、軽度の障害が発生します。(TLBエントリはページテーブルエントリへのショートカットであるため)軽度の障害がTLBミスに関連付けられることは確かにありますが、TLBミスは、ハードフォールトやプログラムの局所性の遷移など、他の多くの原因によって発生します。 。


1

マイナーページフォールトは、ページが既にメモリに読み込まれているが、関連するページテーブルエントリがまだ作成されていない場合に発生します。副次的な影響として、マイナーページフォールトでは常にTLBミスが発生します。一方、ページの変換エントリがTLB(キャッシュ)に存在しない場合、TLBミスが発生します。これは、TLBの容量が限られているために、そのTLBエントリが以前に削除された場合に発生する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.