在LINUX上测量TLB未命中的命令

时间:2012-01-24 06:21:47

标签: linux profiling tlb

有人可以指示我在LINUX上测量TLB未命中的命令吗? TLB未命中时可以考虑小页面错误吗?

2 个答案:

答案 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