perf命令
perf是一个Linux系统中的性能分析工具,它支持硬件性能计数、软件性能计数和动态侦测。
perf stat
: 测量运行单个程序或是系统运行一段时间内的性能计数perf top
: 动态查看当前系统的热点函数perf record
: 测量和保存单个程序的采样数据perf report
: 分析由perf record产生的数据文件perf list
: 列举出perf支持的性能计数事件
$ mkdir test
$ cd test
$ perf record -g -a # -a 收集所有CPU -g开启调用关系分析
$ ll
total 5624
-rw------- 1 root root 5755668 Apr 13 16:49 perf.data
$ perf report #查看报告
# -g开启调用关系分析,-p指定php-fpm的进程号21515
$ perf top -g -p 21515
按方向键切换到 php-fpm,再按下回车键展开 php-fpm 的调用关系,你会发现,调用关系最终到了 sqrt 和 add_function。
相关链接:
https://www.brendangregg.com/perf.html
https://perf.wiki.kernel.org/index.php/Tutorial
https://zh.wikipedia.org/wiki/Perf
https://man7.org/linux/man-pages/man1/perf.1.html