Perf使用初探

 

在对程序进行性能分析时,我们通常会使用perf这个工具,它是一个Linux下的性能分析工具。

Perf使用初探

安装1

sudo apt-get update
sudo apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
find /usr -name perf
# ex:
ln -s /usr/lib/linux-tools/5.4.0-169-generic/perf /usr/bin/perf

安装中可能遇到的问题 E: Unable to locate package linux-tools-<kernel_version> ... ... 即使用的内核版本没有对应的linux-tools, 那就取消安装最后一个 linux-tools-uname -r. 例如笔者使用的4.14.48的内核版本就找不到. 最终链接的如上所示是5.4.0的版本.

不知道这么使用会不会有问题, 总之目前使用下来没什么问题.

使用2

cd <dir>

# 准备生成火焰图的工具:
git clone https://github.com/brendangregg/FlameGraph.git

# 生成perf.data文件
perf record -g -p <pid_of_process_you_want_to_profile>

# 生成火焰图
perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > process.svg

扩展资料

后续想要进一步了解的话可以看看下面的资料:

  1. 系统级性能分析工具perf的介绍与使用
  2. brendangregg/FlameGraph
  3. Linux Perf Example
  4. Perf 使用指南

参考资料

  1. Install Perf Tool in Linux
  2. linux 性能分析工具perf使用详解