Perintah untuk mengukur kesalahan TLB di LINUX?


11

Bisakah seseorang mengarahkan saya ke sebuah perintah untuk mengukur kesalahan TLB di LINUX, tolong? Apakah saya tetap dapat menganggap (atau memperkirakan) kesalahan halaman minor karena TLB meleset?

Jawaban:


10

Anda dapat menggunakan perf untuk mengakses penghitung kinerja perangkat keras:

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

misalnya:

$ 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

Kesalahan kecil dan miss TLB bukan analog yang baik. Kesalahan kecil terjadi ketika halaman yang diminta dalam memori tetapi tidak dipetakan dalam tabel halaman saat ini. Ini akan menjadi kasus bahwa kesalahan kecil akan dikaitkan dengan kehilangan TLB (karena entri TLB adalah pintasan ke entri tabel halaman) tetapi kehilangan TLB akan disebabkan oleh banyak hal lain misalnya kesalahan keras, atau transisi dalam lokalitas program .


1

Kesalahan halaman minor terjadi ketika halaman sudah dimuat dalam memori, tetapi entri tabel halaman terkait belum dibuat. Sebagai efek sampingnya, kesalahan halaman minor selalu menyebabkan TLB hilang. Di sisi lain, kehilangan TLB terjadi ketika entri terjemahan untuk halaman tidak berada di TLB (yang merupakan cache), yang dapat terjadi ketika entri TLB sebelumnya telah diusir karena kapasitas terbatas TLB.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.