2012-01-24 6 views
2

LinuxでTLBミスを測定するコマンドを私に指示できますか?マイナーページフォールトをTLBミスとみなしても問題ありませんか?LINUXでTLBミスを測定するコマンド

+0

私には分かりません。 TLBミスはプロセッサ内部の深い部分です。ページフォートはTLBミスではない。 –

+0

マイナーページフォルトはメジャーページフォルトではありませんか? – samarasa

+0

どのCPUファミリですか?私はx86-64を推測していますが、CPUパフォーマンスレジスタにアクセスする必要があるソリューションがあれば、プロセッサを指定する必要があります。 –

答えて

6

perfを使用してこれを行うことができます。あなたのCPUがそれをサポートするならば。

perf listを使用すると、利用可能なカウンターの考えを得ることができます。私はこのリストを取り、TLB(私のSandy Bridgeのマシン上で)のためにgreppedとき私が得た:

[email protected]:~$ 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 reportを使用し、その後perf record -e <event0>,<event1>,..

そして、 。

+2

'oprofile'は古いカーネルのTLBミスカウンタにもアクセスできます。 – ninjalj

+0

私は過去に 'oprofile'を使用しました - 残念なことにFedora 16の出荷バージョンはSandy Bridgeのサポートを含むリリースより1リリースです。私はテストできなかったことを推薦したくなかった。 –

3

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

perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses sleep 60 
関連する問題