使用linux perf和PEBS对程序中的内存访问进行采样

时间:2015-03-03 20:11:37

标签: linux caching memory instrumentation perf

我一直在尝试使用linux perf工具对我程序中的内存访问进行采样。具体来说,我使用perf mem命令来检测程序中的负载:

perf mem -t load rec myprogram
perf mem -t load rep

但是,我想提高采样频率并收集更多样本。但我没有找到控制采样频率的perf mem命令的任何选项。

问题

  1. 在运行perf mem
  2. 时,是否有可以让我控制采样频率的选项
  3. 什么是默认采样频率?
  4. perf mem是否有更好的方法来检测程序中的内存访问?我特意为每个采样负载操作寻找以下数据位 - (i)目标数据地址(ii)负载是否导致L1 / L2 / LLC高速缓存命中。

1 个答案:

答案 0 :(得分:1)

1-您是否尝试过使用-F选项来指定每秒样本的平均采样率(https://perf.wiki.kernel.org/index.php/Tutorial#Sampling_with_perf_record)?

2-根据维基(上面的链接)" perf工具默认为平均费率。它设置为1000Hz,或1000个样本/秒。"

3-我认为perf mem提供了您需要的所有信息。