详解perf的安装及使用

发布时间 2024-01-04 11:39:42作者: LiuYanYGZ

摘自:https://www.python100.com/html/113068.html

一、perf概述

perf是一个Linux性能监测工具,它是在内核中实现的,可以对CPU、缓存、内存、IO等进行性能分析。在perf的掌握下,可以更深刻地了解应用程序或操作系统内部运行的情况,进而优化性能,提高效率。

二、perf安装

在开始安装perf前,需要确保系统已经拥有gcc、make等常用工具和headers(linux-headers)。接下来,根据Linux系统的不同版本,可以选择以下任意一种方式来安装perf。

方式1:yum安装

sudo yum install -y perf

上述命令会在yum仓库中检索perf的安装包,如果系统已经配置好了对应版本的yum源,则可以直接通过该方式安装perf。

方式2:编译安装

从Linux内核源码中编译安装perf是另一种常用的方式,可以通过如下步骤来安装:

1. 下载源码

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

2. 切换至对应的版本分支

cd linux
git branch -r   # 查看所有远程分支
git branch -a   # 查看所有分支
git checkout v5.4   # 切换到v5.4分支

3. 编译安装perf

cd tools/perf
make

此时,已经编译好了perf,可以通过以下命令来测试perf是否成功安装:

cd ../..
sudo perf top

三、perf使用

perf提供了丰富的命令行工具,用于各种性能分析的场景。下面列举一些常用的示例:

方式1:监测CPU使用率

perf的默认事件为CPU时钟周期,可以使用如下命令来查看CPU的使用率,请注意,需要以root权限运行:

sudo perf stat -e cycles -e instructions sleep 3

方式2:监测函数调用次数

perf可以监测指定函数的调用次数,并输出结果,例如:

perf record -e cycles -g function_name    # 记录调用函数
perf report --stdio                      # 输出监测结果

方式3:监测内存占用情况

perf可以监测内存的占用情况,并输出各种指标,例如:

perf record -g -e memory:GPGPU:local_access -aR dd if=/dev/zero of=/dev/null bs=512K count=1000
perf report --stdio --sort=dso

总结

本文简要介绍了perf的概念、安装方法及使用技巧,可以根据具体需求来选择对应的命令行工具,进行更为详尽的性能分析工作。