有人可以指示我在LINUX上测量TLB未命中的命令吗? TLB未命中时可以考虑小页面错误吗?
答案 0 :(得分:7)
您可以使用perf
执行此操作。如果您的CPU支持它。
使用perf list
了解可用的计数器。当我拿到这个列表并且为TLB(在我的Sandy Bridge机器上)上写道时,我得到了:
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
查看结果。
答案 1 :(得分:4)
要查看整个系统的此信息,可以使用以下行。这将记录计数器1分钟(60秒)。
perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses sleep 60