Linux `perf record --append` 选项缺失

标签 linux perf

在线联机帮助页,如 https://linux.die.net/man/1/perf-record建议 Linux perf 命令有一个选项支持增量分析,即通过 perf record --append 合并来自多个不同运行的分析数据。但是,在我的 perf 版本 4.15.18 的系统上,缺少该选项。我的 perf 版本太新还是太旧,无法使用 --append 选项?或者,如果缺少 --append 选项,是否有另一种方法可以合并/附加多次运行的 perf 结果并进行增量分析?

这个问题是在使用 LLVM 进行基于采样的分析时出现的。在 LLVM 中,基于检测的分析支持在多次运行中合并分析数据,我想知道我们是否可以用 perf 做同样的事情。

最佳答案

它很久以前就被删除了,请参阅 https://lore.kernel.org/patchwork/patch/391730/以及此处的相关讨论:https://marc.info/?l=linux-kernel&m=137031146932578&w=2 .看起来--append的实现方式比较简单:简单的将profiling数据的写入方式改为append即可,与perf report配合使用效果不佳>,所以他们决定将其删除。

似乎有选项 --timestamp-filename 可以为输出文件名加上时间戳,这对于使用 perf 的批采样程序可能很有用。在 LLVM 中进行基于采样的优化时,我们可以使用 AutoFDO 将配置文件转换为 LLVM 可读的配置文件,并使用 llvm-profdata merge 合并所有内容。

关于Linux `perf record --append` 选项缺失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62488604/

相关文章:

linux - 不包含字符串的处理行和匹配行下方的输出行

linux - 在安装了tomcat8的centos上找不到startup.sh和shutdown.sh

assembly - 页面结构缓存性能事件

linux - 性能:软件事件之间的奇怪关系

linux - 我可以只在一行中打印 RPM 包信息的 "description"字段吗

linux - 在 Linux 中使用 channel 跳跃进行数据包嗅探

linux - 在 ubuntu 18.04 上更新后无法打开 libmpfr.so.4

cpu-architecture - perf 功耗测量 : How does it work?

linux - 为什么 perf 不报告缓存未命中?

c - 从 perf 获取用户空间堆栈信息