- 76
- 0
- 约9.45千字
- 约 9页
- 2018-12-11 发布于湖北
- 举报
Linux 的系统级性能剖析工具‐perf
(一)
承刚
TAOBAO Kernel Team
chenggang.qin@
前言
在软件规模庞大与硬件成本相对廉价的时代,系统级性能分析和优化常被开
发与测试人员忽视。但是随着虚拟化和云计算时代的到来,对计算资源按需付费
的盈利模式要求系统软件与应用软件的开发者们必须对硬件资源的使用效率精
益求精。在嵌入式领域更是如此。而且在互联网企业中,应用程序的性能提升对
节约服务器成本来说至关重要。由于服务器集群异常庞大,软件性能的些许提升
都有可能带来成本的大幅降低[1] 。系统级性能优化是提升程序性能的重要步骤。
但是,目前针对系统级性能优化的参考资料很稀缺,开发与测试人员往往不了解
系统级性能优化的意义和方法。
系统级性能优化是指为了提高应用程序对操作系统资源与硬件资源的使用
效率,或者为了提高操作系统对硬件资源的使用效率而进行的代码优化。通过提
高对操作系统资源与硬件资源的利用率,使得应用程序与基础软硬件平台具有更
好的交互性,往往可以显著提升应用程序的执行速度和稳定性。系统级性能优化
通常包括2 个阶段,分别是性能剖析(performance profiling)和代码优化。性能
剖析阶段的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。代码优
化阶段的目标是针对具体的性能问题而优化代码与编译选项,以改善软件性能。
在代码优化阶段往往需要凭借开发者的经验,编写简洁高效的代码,甚至在汇编
语言级别合理使用各种指令,合理安排各种指令的执行顺序。而在性能剖析阶段,
则需要借助于现有的profiling 工具,如perf ,VTune ,Oprofile 等。其中perf 相比
较于其它工具而言,具有特殊的优势。它不仅开源,而且内置于内核源码树。在
如今upstream kernel 的开发中,perf 是发展较快的领域之一。淘宝内核组也介入
了perf 的开发工作。
本文是系统级性能分析系列文章的第一篇,主要介绍性能分析工具perf 的
使用方法。后续还会有介绍系统级性能分析方法以及代码优化方法的文章。
第一章 Perf 简介
1.1 perf 的基本原理
Perf 是内置于Linux 内核源码树中的性能剖析(profiling)工具。它基于事件
采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性
能指标的性能剖析。可用于性能瓶颈的查找与热点代码的定位。
我们先通过一个例子来看看perf 究竟能干什么。程序[code1]是一个简单的
计算pi 的计算密集型程序。很显然,[code1]的热点在函数do_pi() 中。
[code1]
#include stdio.h
#include math.h
#include sys/types.h
#include linux/unistd.h
int do_pi(){
double mypi,h,sum,x;
long long n,i;
n = 5000000;
h = 1.0 / n;
sum=0.0;
for (i = 1; i = n; i+=1 ) {
x = h * (i ‐ 0.5);
sum += 4.0 / (1.0 + pow(x,2));
}
mypi = h * sum;
您可能关注的文档
- IM1329型单相交直流计量模块.PDF
- InfilexBC通用控制器.PDF
- InfoMall数据检索服务设计以和全文检索系统初步实现.doc
- InGaAs单光子探测器传感检测和淬灭方式.PDF
- IntelCyclone10LP器件数据手册.PDF
- IV-18(ИВ-18)荧光电子管时钟.PDF
- JA-YWK680光电液位开关.PDF
- K=1平面曲柄摇杆机构最佳传动角.PDF
- KCl-NaCl和KCl-NaCl-MgCl2熔体粘度实验研究.PDF
- Kodaki1190i1190E扫描仪.PDF
- 慢性阻塞性肺疾病2014.ppt
- 找准必然因素-应对偶发事件、张秀.ppt
- 授导型教学设计(三).ppt
- 接受高致吐性化疗患者的止吐治疗策略2016.ppt
- 教师心理健康状况与职业倦怠干预——基于2024年全国教师心理健康筛查与干预项目数据.docx
- 教育经费使用绩效评价与优化路径研究——基于2024年全国教育经费使用绩效评价与改进数据.docx
- 策略定期报告:历史的“春节后”.docx
- 固态电池行业深度系列四:固态技术突破装车在即,太空领域打开想象空间.pdf
- 从海外金属包装发展复盘看行业价值重构机遇,整合创造双寡头格局,优质结构提升利润率.pdf
- 商业航天%26太空光伏行业系列深度:商业航天规模化在即,太空光伏打开成长空间.pdf
原创力文档

文档评论(0)