码迷,mamicode.com
首页 > 系统相关 > 详细

Linux性能剖析工具—perf

时间:2020-10-10 16:54:23      阅读:32      评论:0      收藏:0      [点我收藏+]

标签:包括   profiling   报告   linux性能分析   剖析   bsp   rac   其他   直接   

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

性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。

代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能。

perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器、tracepoint)功能。通过perf,应用程序可以利用PMU、tracepoint和内核中的计数器来进行性能统计。它不但可以分析制定应用程序的性能问题(per thread),也可以用来分析内核的性能问题。

perf是一款很牛逼的综合性分析工具,大到系统全局性性能,再小到进程线程级别,甚至到函数及汇编级别。

1、cpu占用率很高,但是找不到高cpu的应用

碰到常规问题无法解释的CPU使用率情况时,首先要想到有可能是短时应用导致的问题,比如有可能是下面这两种情况。

第一,应用里直接调用了其他二进制程序,这些程序通常运行时间比较短,通时过top等工具也不容易发现。

第二,应用本身在不停地崩溃重启,而启动过程的资源初始化,很可能会占用相当多的CPU。

解决方法:
使用perf命令,查找压力大的进程
记录性能事件,等待大约15秒后按Ctrl+C退出

$perf record -g

查看报告

$perf report

 

 





 

Linux性能剖析工具—perf

标签:包括   profiling   报告   linux性能分析   剖析   bsp   rac   其他   直接   

原文地址:https://www.cnblogs.com/zjz20/p/13789320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!