Pyflame安装小记
火焰图是一款性能调优工具,可以清晰的看出程序运行瓶颈在哪里。
pyflame则是由Uber开源出来的针对python程序生成火焰图的工具。
这里记录一下安装过程以及遇到的错误。
安装环境CentOS7,首先安装系统依赖
1 | sudo yum install autoconf automake gcc-c++ python-devel libtool |
如果使用python3则需要安装python3-devel
然后从github上clone项目到本地,并编译:
1 | git clone https://github.com/uber/pyflame.git |
然后再clone另一个项目flamegraph到本地:
1 | git clone https://github.com/brendangregg/FlameGraph.git |
查看要调试的进行ID:
1 | ps aux|grep uwsgi |
运行下面的命令报错
1 | pyflame -s 60 -r 0.01 3019 |
但其实是安装了python-abi
的:
1 | rpm -q --provides python | grep abi |
解决起来需要手动指定--abi
参数:
1 | pyflame -s 60 -r 0.01 --abi=26 3013 | ./flamegraph.pl > mypyflame.svg |
其中:
- -s 60, 总采样时间为 60s
- -r 0.01, 以0.01s 的频率做采样
一分钟后就可以看到火焰图了。