问题描述
我对该功能的说明有一些问题。 有人可以告诉我如何获得表示形式,在哪里可以看到哪个函数正在使用多少时间吗?
所以我想看看程序中哪个函数使用最多的时间来进行分析和改进。
在我的“输出树”中,已经用(k)和(。)标记了。 也许在火焰记录仪中为此有过滤功能,或者已经有可能过滤perf以使我只能从程序中看到这些功能?
感谢您的帮助! :)
解决方法
关于忽略内核调用,建议您在不使用sudo的情况下运行perf,或运行它以仅监视用户空间中的周期,如以下示例所示:
/etc/profile
请查看perf record -g -e cycles:u ls
的手册页,以了解如何正确使用事件修饰符。
编辑
根据PeterCordes的建议,从Linux 4.6开始,您只需将perf list
选项添加到--all-user
命令中,以收集以下所有事件:用户空间(perf
的默认选择是perf record
)。