5

LINUX で TLB ミスを測定するコマンドを教えてもらえませんか? マイナー ページ フォールトを TLB ミスと見なしても問題ありませんか?

4

2 に答える 2

13

これを行うために使用できますperf。CPU がサポートしている場合。

利用perf list可能なカウンターのアイデアを得るために使用します。このリストを取得して (私の Sandy Bridge マシンで) TLB を grep したところ、次の結果が得られました。

rob@tartarus:~$ perf list | grep -i tlb
  dTLB-loads                                         [Hardware cache event]
  dTLB-load-misses                                   [Hardware cache event]
  dTLB-stores                                        [Hardware cache event]
  dTLB-store-misses                                  [Hardware cache event]
  dTLB-prefetches                                    [Hardware cache event]
  dTLB-prefetch-misses                               [Hardware cache event]
  iTLB-loads                                         [Hardware cache event]
  iTLB-load-misses                                   [Hardware cache event]

次に、この特定のカウンターを次のように使用できます。perf record -e <event0>,<event1>,..

そしてperf report、結果を見るために使用します。

于 2012-02-19T17:44:55.643 に答える
7

システム全体のこの情報を表示するには、次の行を使用できます。これにより、カウンターが 1 分間 (60 秒) 記録されます。

perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses sleep 60

ミス率が 1% を超える場合は、ヒュージ ページの使用を検討する必要があります。

于 2016-08-18T18:59:30.450 に答える