¿Comando para medir TLB falla en LINUX?

11

¿Podría alguien dirigirme a un comando para medir las fallas de TLB en LINUX, por favor? ¿Está bien considerar (o aproximar) fallas menores de página a medida que TLB falla?

samarasa
fuente

Respuestas:

10

Puede usar perf para acceder a los contadores de rendimiento del hardware:

$ perf stat -e dTLB-load-misses,iTLB-load-misses /path/to/command

p.ej :

$ perf stat -e dTLB-load-misses,iTLB-load-misses /bin/ls > /dev/null

 Performance counter stats for '/bin/ls':

             5,775 dTLB-load-misses                                            
             1,059 iTLB-load-misses                                            

       0.001897682 seconds time elapsed
gby
fuente
2

Una falla menor y una falla TLB no son buenos análogos. Se produce un error menor cuando una página solicitada está en la memoria pero no está asignada en la tabla de páginas actual. Ciertamente, sería el caso de que una falla menor se asociará con una falta de TLB (ya que las entradas de TLB son accesos directos a las entradas de la tabla de páginas), pero las fallas de TLB serán causadas por muchas otras cosas, por ejemplo, fallas graves o una transición en la localidad de un programa .

adrianmcmenamin
fuente
1

Se producen fallas menores en la página cuando la página ya está cargada en la memoria, pero la entrada de la tabla de páginas asociada aún no se ha creado. Como efecto secundario, las fallas menores de la página siempre incurren en fallas TLB. Por otro lado, una falta de TLB ocurre cuando la entrada de traducción para una página no reside en el TLB (que es un caché), lo que puede suceder cuando esa entrada TLB había sido desalojada previamente debido a la capacidad limitada del TLB.

rlavaee
fuente