如何使用perf来分析程序的耗时操作?(以XRDP为例)

11/7/2023

# 安装perf

#安装perf
yum install perf  -y
#生成火焰图的脚本工具
git clone https://github.com/brendangregg/FlameGraph
1
2
3
4

# 抓取dump文件

perf record -o perf.data -F 99 -g -p $(pgrep -x xrdp)
#用perf script工具对perf.data进行解析。
perf script -i perf.data &> perf.unfold
#将perf.unfold中的符号进行折叠。
./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
#生成火焰图
 

./FlameGraph/stackcollapse-perf.pl perf_xrdp.unfold &> perf_xrdp.folded
./FlameGraph/stackcollapse-perf.pl perf_sesman.unfold &> perf_sesman.folded

./FlameGraph/flamegraph.pl perf_sesman.folded > perf_sesman.svg
./FlameGraph/flamegraph.pl perf_xrdp.folded > perf_xrdp.svg
1
2
3
4
5
6
7
8
9
10
11
12
13
Xvnc :11 -rfbport 5911 -geometry 1024x768 -depth 32 -SecurityTypes None -pixelformat RGB888
1
嘉宾
路文飞