我使用“perf record ./exe",它出现了文件”perf.data“; 但是,当我使用“性能报告”来检查数据时,它没有显示任何内容,为什么? 我的perf版本是“0.0.2.PERF”并使用Open suse Linux Enterprise Server 11(x86_64)。
当我在Ubuntu中做同样的事情时,它运行良好,Open suse和Ubuntu之间有什么区别吗?
答案 0 :(得分:1)
是的,ubuntu和open suse中的perf二进制文件有不同的版本。你最好从它的源代码编译perf(如果你有安装依赖项的权限,那就是)。与suse linux相比,linus'中的perf在功能和错误修正方面距离是光年:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
<make coffee, or something>
$ cd linux/tools/perf
$ make prefix=/usr/local install install-man
<it will complain about missing libs here, if any, which you should be able
to deduce the corresponding rpm packages to install them from>
至于perf学习资源 - 目前还没有足够的恕我直言。我从阅读perf tutorial at its wiki site开始。然后我通过perf-user mailing list浏览了gmane。我发现this post on off-box analysis acme(redhat成名)对我需要做的事情最有帮助。您可以浏览perf用户邮件列表。
最后,我还浏览了perf的git日志消息,以查看人们一直在处理的功能和修复:
$ cd tools/perf
$ git log -- .