리눅스에서 TLB 미스를 측정하는 명령?


12

LINUX에서 TLB 미스를 측정하라는 명령을받을 수 있습니까? TLB가 누락 될 때 사소한 페이지 결함을 고려하는 것이 좋습니까?

답변:


10

perf 를 사용하여 하드웨어 성능 카운터에 액세스 할 수 있습니다 .

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

예 :

$ 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

2

사소한 결함과 TLB 미스는 좋은 아날로그가 아닙니다. 요청 된 페이지가 메모리에 있지만 현재 페이지 테이블에 맵핑되지 않은 경우 사소한 결함이 발생합니다. 사소한 결함이 TLB 미스와 연관 될 수 있지만 (TLB 항목은 페이지 테이블 항목에 대한 바로 가기이므로) TLB 미스는 하드 결함 또는 프로그램 지역의 전환과 같은 다른 많은 요인으로 인해 발생합니다. .


1

페이지가 이미 메모리에로드되었지만 관련 페이지 테이블 항목이 아직 작성되지 않은 경우 사소한 페이지 결함이 발생합니다. 부작용으로 사소한 페이지 결함으로 인해 항상 TLB 누락이 발생합니다. 반면, 페이지의 변환 항목이 TLB (캐시)에 상주하지 않으면 TLB 미스가 발생하며, 이는 TLB의 제한된 용량으로 인해 TLB 항목이 이전에 제거되었을 때 발생할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.