Comando para medir erros de TLB no LINUX?

9

Alguém poderia me direcionar para um comando para medir erros do TLB no LINUX, por favor? Não há problema em considerar (ou aproximar) falhas de página menores como erros da TLB?

    
por samarasa 24.01.2012 / 07:39

3 respostas

8

Você pode usar perf para acessar os contadores de desempenho de hardware:

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

por exemplo. :

$ 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
    
por 24.01.2012 / 08:53
2

Uma pequena falha e uma falta de TLB não são bons análogos. Uma falha secundária ocorre quando uma página solicitada está na memória, mas não está mapeada na tabela de páginas atual. Seria certamente o caso de uma pequena falha ser associada a uma falta de TLB (como as entradas de TLB são atalhos para entradas de tabela de páginas), mas as falhas de TLB serão causadas por muitas outras coisas, por exemplo, falhas difíceis ou uma transição na localidade de um programa. .

    
por 24.01.2012 / 12:21
1

Ocorrem falhas de página menores quando a página já está carregada na memória, mas a entrada da tabela de páginas associada ainda não foi criada. Como um efeito colateral, falhas de página menores sempre incorrem em erros de TLB. Por outro lado, uma falha de TLB ocorre quando a entrada de tradução de uma página não está residindo no TLB (que é um cache), o que pode acontecer quando essa entrada de TLB foi removida anteriormente devido à capacidade limitada do TLB.

    
por 25.09.2015 / 19:36