在对程序进行性能分析时,我们通常会使用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
扩展资料
后续想要进一步了解的话可以看看下面的资料: