在线联机帮助页,如 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/