HACK#64 使用perf tools的概要分析(1)

发现Linux内核功能变差时,或想要改善性能但不知道当前哪里有问题时等,可以通过进行程序概要分析来定位有问题的位置。

perf tools

perf tools是由内核维护人员Ingo Molnar等人开发的Linux内核的综合性能概要分析工具。可以使用CPU中内置的性能计数器(performance counter)功能、内核的追踪点等,进行内核或应用程序的概要分析。同样的工具中Oprofile比较有名。perf tools工具就是由于Oprofile与Linux内核的维护频率不同导致Oprofile不能识别内核上支持的CPU而开始开发的。因此把perf tools的源代码合并到Linux内核的源码树中之后,tools/perf下面有最新版的代码(反过来说,如果不使用与所用内核相对应的perf tools代码,就有可能无法正常运行)。

顾名思义,perf tools是由多个子命令(工具)构成的。tools/perf/Documents/下的文件中整理了各个子命令的使用方法等。这里首先介绍创建一个能够完整使用perf tools的环境的方法。