linux常用工具——perf性能分析
1. perf top
当我们尝试解决一个性能上的缺陷的时候,最难的就是定位问题,perf top可以快速的帮助你看到具体的是哪个程序导致的问题。
#perf top

2. perf record / perf report
使用perf record/perf report查看进程内部函数详细调用信息
1). 收集堆栈信息
#perf record (收集所有进程信息)
#perf record ./a.out (a.out是一个测试程序的可执行文件)
#perf record -p pid -g (pid是当前进程的pid)
2). 生成报告
#perf report

3.生成火焰图
1). 下载火焰图生成脚本
在使用火焰图之前你需要把生成火焰图的相关的脚本下载到本地:
#git clonehttps://github.com/brendangregg/FlameGraph
2). 收集堆栈信息
# perf record -p 181 -g
# perf script > out.perf
PS:如果使用火焰图打开后显示很多【unknown】,调整堆栈信息收集方式
# perf record -p 181 --call-graph dwarf
3). 折叠堆栈信息
# FlameGraph/stackcollapse-perf.pl out.perf > out.folded
4). 生成火焰图
# FlameGraph/flamegraph.pl out.folded > result.svg
5). 使用浏览器打开火焰图

相关推荐
-
nginx 解决 readv() failed (104: Connection reset by peer)
nginx 解决 readv() failed (104: Connection reset by peer)2025-04-06 01:44:48 -
「Nginx」-Nginx location 匹配规则详解2025-04-06 01:02:51
-
nginx 配置$Query String $args 根据条件proxy_pass
nginx 配置$Query String $args 根据条件proxy_pass2025-04-06 00:52:55 -
Docker部署Nginx+Flask+Mongo的应用介绍
Docker部署Nginx+Flask+Mongo的应用介绍2025-04-06 00:21:40 -
你知道PHP协程是什么吗?2025-04-06 00:01:03