10得票1回答
硬件缓存事件和性能分析工具

当我运行perf list命令时,我看到了一堆硬件缓存事件,如下所示: Translated: 当我运行perf list命令时,我看到了一堆硬件缓存事件,如下所示:$ perf list | grep 'cache event' L1-dcache-load-misses ...

7得票1回答
使用perf record进行多线程基于频率的采样

从这个好答案上了解到,我的理解是perf每当一个事件计数器超过阈值时进行采样。当要求以一定频率采样时,它会尝试设置事件计数器的阈值,以便在指定间隔内发生溢出,通过调整其对时间每个事件的估计来实现。 我想知道如何处理多线程,例如使用默认的“cycles”事件。 是否存在全局“cycles”...

7得票1回答
L2指令获取缺失远高于L1指令获取缺失。

我将使用以下Python脚本生成一个旨在引起大量指令获取缺失的合成C基准测试: : #!/usr/bin/env python import tempfile import random import sys if __name__ == '__main__': functions...

9得票2回答
使用字段分隔符选项获取性能耗时

我有一个解析Linux命令perf输出的程序。它需要使用选项-x,(字段分隔符选项)。我想使用perf提取经过的时间(而不是任务时间或CPU时钟)。但是当我使用-x选项时,在输出中找不到经过的时间,并且我找不到相应的perf事件。以下是示例输出: perf stat ls =========...

7得票1回答
使用`perf_event_open`模拟`perf record -g`的功能

我的目标是编写一些代码,以记录所有CPU的当前调用堆栈,在一定时间间隔内进行记录。实质上,我想做的与“perf record”相同,但使用“perf_event_open”自己实现。 根据手册,似乎需要使用“PERF_SAMPLE_CALLCHAIN”样本类型,并通过“mmap”读取结果。话...

8得票1回答
如何在Perf的注释视图中获取绝对值而不是百分比?

问题 在Perf的注释视图中,每个指令消耗的运行时间以百分比的形式显示在左侧。是否有一些选项可以显示一些绝对数量(可能是样本)? 背景 我正在使用一些带有经典C数组和Numpy数组(用于Python模块)的C代码,并且我想通过在一些相同的示例案例上运行它来比较性能。有一些部分(例如初始化...

14得票4回答
如何在C/C++应用程序中分析内存访问所花费的时间?

一个应用程序中的函数耗费的总时间可以分为两个组成部分: 实际计算所花费的时间(Tcomp) 内存访问所花费的时间(Tmem) 通常,性能分析器会提供函数耗费的总时间估计。是否可能根据上述两个部分(Tcomp和Tmem)获得耗费时间的估计值?

8得票2回答
有没有类似于Linux命令“perf stat”的Windows等效命令?

是否有 Windows 版本的 Linux 命令“perf stat”?例如,查看前端停顿、缓存未命中和其他性能计数器数据。

21得票1回答
使用Kcachegrind打开perf.data文件

我在某个地方读到过可以将来自Linux perf record性能分析工具的输出perf.data转换为kcachegrind可以解析/绘制的格式,然而我没有找到一个能够进行此转换的应用程序,kcachegrind也无法打开perf.data。 这是否可能:使用kcachegrind查看pe...

7得票1回答
perf命令与perfmon2或libpfm4有何区别?

最近,我在研究性能计数器相关的事情。我在谷歌上搜索到了perfmon2和libpfm4 http://perfmon2.sourceforge.net/ ,我还发现了perf命令https://perf.wiki.kernel.org/index.php/Main_Page , 它随着Linu...