簡體   English   中英

在 LINUX 上測量 TLB 未命中的命令

[英]Command to measure TLB misses on LINUX

有人可以指導我使用命令來測量 LINUX 上的 TLB 未命中嗎? 是否可以將次要頁面錯誤視為 TLB 未命中?

您可以使用perf來執行此操作。 只要您的 CPU 支持它。

使用perf list了解可用的計數器。 當我拿到這份清單並搜索 TLB(在我的 Sandy Bridge 機器上)時,我得到:

rob@tartarus:~$ perf list | grep -i tlb
  dTLB-loads                                         [Hardware cache event]
  dTLB-load-misses                                   [Hardware cache event]
  dTLB-stores                                        [Hardware cache event]
  dTLB-store-misses                                  [Hardware cache event]
  dTLB-prefetches                                    [Hardware cache event]
  dTLB-prefetch-misses                               [Hardware cache event]
  iTLB-loads                                         [Hardware cache event]
  iTLB-load-misses                                   [Hardware cache event]

然后你可以使用這個特定的計數器: perf record -e <event0>,<event1>,..

然后只需使用perf report來查看結果。

要查看整個系統的此信息,您可以使用以下行。 這將記錄計數器 1 分鍾(60 秒)。

perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses sleep 60

如果未命中率高於 1%,您應該考慮使用大頁面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM