性能测试定位工具perf

perf是Linux内核内置的性能剖析工具,基于事件采样,用于查找性能瓶颈和热点代码定位。它可以评估软件的算法优化、代码优化,以及硬件和操作系统资源的使用情况。perf的主要功能包括分析CPU利用率、上下文切换、CPU迁移、缺页异常和处理器周期等。通过perf top和perf stat等命令可以深入理解程序运行状况,并通过火焰图进行可视化展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统级性能优化通常包括两阶段:性能剖析和代码优化。

perf是内置于linux内核源码树中的性能剖析工具,它基于事件采样原理,以性能事件为基础,可用于性能瓶颈的查找与热点代码的定位。

主要作用:

perf工具可用于对软件进行优化,包括算法优化(空间复杂度、时间复杂度)和代码优化(提高执行速度、减少内存占用)。还可以评估程序对硬件资源的使用情况,例如各级cache的访问次数,各级cache的丢失次数、流水线停顿周期、前端总线访问次数等。也可以评估程序对操作系统资源的使用情况,系统调用次数、上下文切换次数、任务迁移次数等。

#记录httpd进程的性能数据
perf record -p `pgrep -d ',' httpd`
#默认会将记录写入perf.data文件中,分析perf.data文件,命令:
perf report -i perf.data

perf  top的用法

perf top -e cache-misses -p 32479 
perf top -e task-clock -p 32479
perf top -G   // 得到函数调用关系图
perf top-e cache-misses -G  // 得到调用关系图
perf top -e cycles // 指定性能事件
perf top -p 23015,32476 //查看这两个进程的cpu cycles使用情况
perf top -s comm,pid,symbol // 显示调用symbol的进程名和进程号
perf top --comms nginx,top // 仅显示属于指定进程的符号
perf top --symbols kfree // 仅显示指定的符号
perf top -e cpu-clock -p `pgrep -d ',' httpd`

perf stat 用法总结

perf stat -e task-clock -e context-switches -p  进程号
perf s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

colleen_bu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值