中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Perf工具

介绍

Perf工具是非常强大的Linux性能分析工具,可以通过该工具获得进程内的调用情况、资源消耗情况并查找分析热点函数。

命令参考举例:

命令

说明

perf top

查看当前系统中的热点函数。

perf sched record -- sleep 1 -p $PID

记录进程在1s内的系统调用。

perf sched latency --sort max

查看上一步记录的结果,以调度延迟排序。

安装方式

以CentOS为例,使用如下命令安装:

# yum -y install perf

使用方法

  1. 通过perf top命令查找热点函数。

    该命令统计各个函数在某个性能事件上的热度,默认显示CPU占用率,可以通过“-e”监控其它事件。

    • Overhead表示当前事件在全部事件中占的比例。
    • Shared Object表示当前事件生产者,如kernel、perf命令、C语言库函数等。
    • Symbol则表示热点事件对应的函数名称。

    通过热点函数,我们可以找到消耗资源较多的行为,从而有针对性的进行优化。

  2. 收集一段时间内的线程调用。

    perf sched record命令用于记录一段时间内,进程的调用情况。“-p”后接进程号,“sleep”后接统计时长,单位为秒。收集到的信息自动存放在当前目录下,文件名为perf.data。

  3. 解析收集到的线程调度信息。

    perf sched latency命令可以解析当前目录下的perf.data文件。“-s”表示进行排序,后接参数“max”表示按照最大延迟时间大小排序。