L2キャッシュのミス率を得るためにperfツールを使用したいと思います。 L1とLLCを取得する方法を知っています。
perf stat -e L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores command
perf stat -e LLC-loads,LLC-load-misses,LLC-stores,LLC-prefetches command
上記の2つのコマンドはl1
sumの欠落率を得ることができますllc
。ただし、使用するとperf stat -e L2cache-loads, L2-cache-load-misses, L2-cache-stores command
エラーan event syntax error:'L2-cache-loads'
が発生します。
L2のミス率を求める方法は?
perf stat -e L1-dcache-loads, L1-dcache-load-misses, L1-dcache-stores command
l1のミス率を求めるために使用すると、結果は次のようになります。
19,405,514,800 L1-dcache-loads (50.00%)
956,038 L1-dcache-load-misses # 0.00% of all L1-dcache hits (66.67%)
6,448,520,298 L1-dcache-stores (66.67%)
311,629 LLC-loads (66.67%)
174,237 LLC-load-misses # 55.91% of all LL-cache hits (66.67%)
72,755 LLC-stores (33.33%)
<not supported> LLC-prefetches
54.586246766 seconds time elapsed
右の合計は何を0.0%, 55.91%
表していますか?(50.00%), (66.67%), (66.67%), (66.67%), (66.67%), and (33.33%)
答え1
私が考える関連イベントはですl2_rqsts.all_demand_miss
。 (perf list
利用可能なすべてのイベントが表示されます。)
パーセンテージで見ると、956,038は19,405,514,800の0.00%、174,237は311,629の55.91%です。つまり0% L1 dcache ロードがありません。 55.91% LLC dcache ロードがありません。右は何%なのかわかりませんね。