使用perf,是否有标准技术以1毫秒的固定间隔收集统计数据(i-cache命中率,d-cache命中率,LLC命中率)?
目前,我正在使用此命令:
perf record -e instructions,\
L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,L1-dcache-store-misses,\
L1-icache-load-misses,\
LLC-loads,LLC-stores \
-a -F 1000 sleep 1
此命令每秒收集1000个样本,并将数据写入 perf.data 文件。我想以这种格式读取存储在该文件中的数据:
Sample1: #i-cache hits #i-cache misses ...
Sample1: #i-cache hits #i-cache misses ...
然而, perf报告显示了我不需要的各种信息(在内核函数中花费的时间的一小部分)。
有没有办法过滤所有这些信息,只关注我需要的阶段信息? 是否有标准方法来识别程序执行中的阶段?