性能数据的更好表示过滤功能?

问题描述

我对该功能的说明有一些问题。 有人可以告诉我如何获得表示形式,在哪里可以看到哪个函数正在使用多少时间吗?

但是这些只能是我(机载飞行员)的功能。 内核调用不应加深。

所以我想看看程序中哪个函数使用最多的时间来进行分析和改进。

在我的“输出树”中,已经用(k)和(。)标记了。 也许在火焰记录仪中为此有过滤功能,或者已经有可能过滤perf以使我只能从程序中看到这些功能

感谢您的帮助! :)

解决方法

关于忽略内核调用,建议您在不使用sudo的情况下运行perf,或运行它以仅监视用户空间中的周期,如以下示例所示:

/etc/profile

请查看perf record -g -e cycles:u ls 的手册页,以了解如何正确使用事件修饰符。

编辑

根据PeterCordes的建议,从Linux 4.6开始,您只需将perf list选项添加到--all-user命令中,以收集以下所有事件:用户空间(perf的默认选择是perf record)。