1、安装
yum install perf -y //yum方式安装perf
yum install git
git clone https://github.com/brendangregg/FlameGraph.git
2、使用
# perf 采集数据,在当前目录会生成一个perf.data的文件
perf record -F 99 -a -g – sleep 60
# perf 采集指定pid的数据
perf record -F 99 -p PID7419 -g – sleep 60
注意:docker容器pid查询 docker top 容器id
命令解析:
F 99:执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。
-a 对CPU所有进程进行采集
-g 表示记录调用栈
-p pid 采集指定pid进程的数据
–sleep 60 持续收集60s数据
# 生成火焰图(svg)
perf script -i perf.data &> perf.unfold
./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
./FlameGraph/flamegraph.pl perf.folded > perf.svg