LINUX'ta TLB eksiklerini ölçme komutu?


12

Bazıları beni LINUX'taki TLB kayıplarını ölçme komutuna yönlendirebilir mi? TLB'nin kaçırdığı gibi küçük sayfa hatalarını dikkate almak (veya yaklaşık olarak) doğru olur mu?

Yanıtlar:


10

Donanım performans sayaçlarına erişmek için perf komutunu kullanabilirsiniz :

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

Örneğin :

$ 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

Küçük bir hata ve bir TLB özlemesi iyi analoglar değildir. İstenen sayfa bellekte olduğunda ancak geçerli sayfa tablosunda eşlenmediğinde küçük bir hata oluşur. Kesinlikle küçük bir hatanın TLB özlemiyle ilişkilendirilmesi söz konusu olacaktır (TLB girişleri sayfa tablosu girişlerine kısayol olduğu için), ancak TLB özlemlerine, sabit hatalar veya bir programın yerindeki bir geçiş gibi diğer birçok şey neden olacaktır. .


1

Sayfa belleğe zaten yüklendiğinde küçük sayfa hataları oluşuyor, ancak ilişkili sayfa tablosu girişi henüz oluşturulmadı. Bir yan etki olarak, küçük sayfa hataları her zaman TLB eksiklerine neden olur. Öte yandan, bir sayfanın çeviri girişi TLB'de (bir önbellektir) bulunmadığında TLB eksik olur, bu TLB girişi daha önce TLB'nin sınırlı kapasitesi nedeniyle tahliye edildiğinde ortaya çıkabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.