Lệnh đo TLB bỏ lỡ trên LINUX?


10

Ai đó có thể hướng dẫn tôi một lệnh để đo TLB bỏ lỡ trên LINUX không? Có thể xem xét (hoặc gần đúng) các lỗi trang nhỏ như TLB bỏ lỡ không?

Câu trả lời:


9

Bạn có thể sử dụng perf để truy cập vào bộ đếm hiệu suất phần cứng:

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

ví dụ :

$ 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

Một lỗi nhỏ và một lỗi TLB không phải là tương tự tốt. Một lỗi nhỏ xảy ra khi một trang được yêu cầu nằm trong bộ nhớ nhưng không được ánh xạ trong bảng trang hiện tại. Đó chắc chắn sẽ là trường hợp một lỗi nhỏ sẽ liên quan đến lỗi TLB (vì các mục TLB là lối tắt đến các mục trong bảng trang) nhưng lỗi TLB sẽ do nhiều lỗi khác, ví dụ như lỗi cứng hoặc chuyển đổi trong địa phương của chương trình .


1

Lỗi trang nhỏ xảy ra khi trang đã được tải trong bộ nhớ, nhưng mục nhập bảng trang được liên kết chưa được tạo. Là một tác dụng phụ, lỗi trang nhỏ luôn phát sinh lỗi TLB. Mặt khác, việc bỏ lỡ TLB xảy ra khi mục dịch thuật cho một trang không nằm trong TLB (là bộ đệm), điều này có thể xảy ra khi mục TLB đó trước đây đã bị đuổi do khả năng của TLB bị hạn chế.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.