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

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

36得票3回答
性能:无法记录内核引用重定位符号

我为我的内核(3.11.10)编译了perf。在编译过程中,一些库文件缺失,所以我安装了这些库文件。 但现在当我运行perf时,出现以下信息: Couldn't record kernel reference relocation symbol Symbol resolution may ...

25得票2回答
在不使用--privileged的情况下,在Docker容器内使用perf

我尝试在Docker容器中使用perf工具记录给定命令。 kernel.perf_event_paranoid设置为1,但是当我不加--privileged标志时,容器的行为就像设置为2一样。 我可以使用--privileged,但我要对perf工具运行的代码进行安全考虑,并且如果我同意通...

7得票1回答
Perf Stat与Perf Record的区别

我对于使用perf record和perf stat计数事件(如页面错误、缓存未命中等)的区别感到困惑。以下是我的两个问题,回答第一个问题可能也有助于回答第二个问题,但我将它们明确写出以防万一。 问题1: 我理解perf stat可以获得计数的“摘要”,但在使用-I选项时,会按指定的毫秒间隔...

7得票3回答
定期在Linux中读取性能计数器

有没有一种在Linux中定期读取性能计数器的方法? 我正在寻找类似于perf stat的东西,具有每X个周期采样的能力。 基本上,我想要能够每X个cpu周期读取一次某个程序的指令计数器(执行的指令数量)。

11得票1回答
性能启动开销:一个执行MOV + SYS_exit的简单静态可执行文件为什么会有这么多停滞周期(和指令)?

我试图理解如何衡量性能,并决定编写非常简单的程序: section .text global _start _start: mov rax, 60 syscall 我使用perf stat ./bin运行了程序,让我惊讶的是stalled-cycles-fron...

11得票1回答
perf脚本输出的含义是什么?

我使用perf script命令查看了perf.data文件的结果,但我不太理解每一列的含义。例如,如果我有以下结果:perf 3198 [000] 13156.201238: bus-cycles: ffffffff81086e90 resched_task perf 3198 [0...

11得票2回答
使用perf_events在nodejs/v8火焰图中出现未知事件

我尝试使用Linux perf_events来进行一些Node.js的性能分析,如Brendan Gregg在这里所述。工作流程如下: 使用--perf-basic-prof运行版本大于0.11.13的Node.js,它会创建/tmp/perf-(PID).map文件,其中写入了JavaS...

12得票2回答
如何在 Docker 容器内的 Linux Perf 工具中启用调试符号?

我正在使用基于“ubuntu”标签的Docker容器,并且无法使Linux Perf工具显示调试符号。 以下是我演示问题的步骤。 首先,我启动一个容器,这里使用交互式shell。 $ docker run -t -i ubuntu:14.04 /bin/bash 然后从容器提示符处安...

8得票2回答
如何使用Linux perf调用libc6符号(如_int_malloc)以获取父级?

我正在使用Linux perf对C++应用程序进行分析,并使用GProf2dot生成了一个不错的控制流图。然而,来自C库(libc6-2.13.so)的一些符号占用了相当大的时间比例,但没有任何入边。 例如: _int_malloc 占用了8%的时间,但没有任何调用者。 __strcmp...