首页 服务器系统 Linux

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). 使用浏览器打开火焰图



相关推荐