Pregunta

Could some one direct me to a command to measure TLB misses on LINUX, please? Is it okay to consider minor page faults as TLB misses?

¿Fue útil?

Solución

You can use perf to do this. Provided your CPU supports it.

Use perf list to get some idea of the counters available. When I took this list and grepped for TLB (on my Sandy Bridge machine) I got:

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]

You can then use this particular counter with: perf record -e <event0>,<event1>,..

And then just use perf report to look at the results.

Otros consejos

To see this information for the entire system, you could use the following line. This will record the counters for 1 minute (60 seconds).

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

If miss ratio is higher than 1% you should look into using huge pages.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top