Odpowiedzi:
Możesz użyć perf, aby uzyskać dostęp do liczników wydajności sprzętu:
$ perf stat -e dTLB-load-misses,iTLB-load-misses /path/to/command
np .:
$ 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
Drobna usterka i brak TLB nie są dobrymi analogami. Drobny błąd występuje, gdy żądana strona znajduje się w pamięci, ale nie jest odwzorowana w bieżącej tabeli stron. Z pewnością byłby to przypadek, że niewielki błąd zostanie powiązany z brakiem TLB (ponieważ wpisy TLB są skrótami do wpisów w tabeli strony), ale brak TLB będzie spowodowany wieloma innymi rzeczami, np. Poważnymi błędami lub zmianą lokalizacji programu .
Niewielkie błędy strony występują, gdy strona jest już załadowana do pamięci, ale powiązany wpis tablicy strony nie został jeszcze utworzony. Jako efekt uboczny drobne błędy strony zawsze wiążą się z brakami TLB. Z drugiej strony, brak TLB występuje, gdy pozycja tłumaczenia strony nie znajduje się w TLB (która jest pamięcią podręczną), co może się zdarzyć, gdy ten wpis TLB został wcześniej eksmitowany z powodu ograniczonej pojemności TLB.