我一直在尝试使用linux perf工具对我程序中的内存访问进行采样。具体来说,我使用perf mem
命令来检测程序中的负载:
perf mem -t load rec myprogram
perf mem -t load rep
但是,我想提高采样频率并收集更多样本。但我没有找到控制采样频率的perf mem
命令的任何选项。
问题
perf mem
?perf mem
是否有更好的方法来检测程序中的内存访问?我特意为每个采样负载操作寻找以下数据位 - (i)目标数据地址(ii)负载是否导致L1 / L2 / LLC高速缓存命中。答案 0 :(得分:1)
1-您是否尝试过使用-F
选项来指定每秒样本的平均采样率(https://perf.wiki.kernel.org/index.php/Tutorial#Sampling_with_perf_record)?
2-根据维基(上面的链接)" perf工具默认为平均费率。它设置为1000Hz,或1000个样本/秒。"
3-我认为perf mem
提供了您需要的所有信息。