详解perf的安装及使用
摘自: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的概念、安装方法及使用技巧,可以根据具体需求来选择对应的命令行工具,进行更为详尽的性能分析工作。