คำสั่งวัด TLB ที่คิดถึงบน LINUX?


12

มีใครสักคนที่จะพาฉันไปที่คำสั่งเพื่อวัดการพลาด TLB ใน LINUX ได้ไหม? การพิจารณาความผิดพลาดเล็กน้อย (หรือโดยประมาณ) เป็นเรื่องผิดพลาดเนื่องจาก 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.