perf使用示例1
perf使用示例1
perf - Performance analysis tools for Linux
Performance counters for Linux are a new kernel-based subsystem that provide a framework for all things performance analysis. It covers hardware level (CPU/PMU, Performance Monitoring Unit) features and software features (software counters, tracepoints) as well.
perf --help
perf help COMMAND 或 perf COMMAND -h
1.命令简要说明
perf list 命令可以列出所有能够触发 perf 采样点的事件
perf stat [-e <EVENT> | --event=EVENT] [-a] <command> or perf stat [-e <EVENT> | --event=EVENT] [-a] — <command> [<options>] 以概括精简的方式提供被调试程序运行的整体情况和汇总数据
perf top [-e <EVENT> | --event=EVENT] [<options>] 用于实时显示当前系统的性能统计信息
perf record [-e <EVENT> | --event=EVENT] [-l] [-a] <command>
perf -g report 显示调用关系
2.示例1
1)perf stat 命令用于统计进程总体的信息。task-clock:CPU 利用率,该值高,说明程序的多数时间花费在 CPU 计算上而非 IO。
2)perf top 命令可查看系统的实时信息,例如系统中最耗时的内核函数或某个用户进程。
3)perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果,以此可以找到热点。
perf record -e cpu-clock -g 给出函数的调用关系,以便于找到次级热点。
[dskong@tecsun perfs]$ cat test.c
//test.c
void longa()
{
int i,j;
for(i = 0; i < 1000000; i++)
j=i; //am I silly or crazy? I feel boring and desperate.
}
void foo2()
{
int i;
for(i=0 ; i < 10; i++)
longa();
}
void foo1()
{
int i;
for(i = 0; i< 100; i++)
longa();
}
int main(void)
{
foo1();
foo2();
}
[dskong@tecsun perfs]$ gcc -g test.c
[dskong@tecsun perfs]$ perf stat ./a.out
[dskong@tecsun perfs]$ perf record ./a.out
[dskong@tecsun perfs]$ perf report
[dskong@tecsun perfs]$ perf annotate
原文
http://whatot.github.io/pub/linux_program/perf%E7%AE%80%E4%BB%8B/
http://blog.chinaunix.net/uid-8350672-id-2984617.html
http://www.dskong.com/archives/223
http://www.pixelbeat.org/programming/profiling/
perf使用示例1的更多相关文章
- perf使用示例2
perf使用示例2 性能调优工具如 perf,Oprofile 等的基本原理都是对被监测对象进行采样,最简单的情形是根据 tick 中断进行采样,即在 tick 中断内触发采样点,在采样点里判断程序当 ...
- Perf 简介
Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计.它不但可以分析指定应用程序的性能问题 (per thread),也 ...
- Perf -- Linux下的系统性能调优工具,第 1 部分【转】
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 ...
- Perf -- Linux下的系统性能调优工具,第 1 部分
Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计.它不但可以分析指定应用程序的性能问题 (per t ...
- perf命令
@(Linux基础)[perf命令] perf命令 ---- 简介 Perf是内置于Linux内核源码树中的性能剖析(profiling)工具,它基于事件采样原理,以性能事件为基础,支持针对处理器相关 ...
- Perf Event :Linux下的系统性能调优工具
Perf Event :Linux下的系统性能调优工具 2011-05-27 10:35 刘 明 IBMDW 字号:T | T Perf Event 是一款随 Linux 内核代码一同发布和维护的性能 ...
- Perf -- Linux下的系统性能调优工具,第 2 部分 特殊用法以及内核调优示例
https://www.ibm.com/developerworks/cn/linux/l-cn-perf2/ 本文内容简介 之前介绍了 perf 最常见的一些用法,关注于 Linux 系统上应用程序 ...
- Perf -- Linux下的系统性能调优工具,第 1 部分 应用程序调优的使用和示例 Tracepoint 是散落在内核源代码中的一些 hook,一旦使能,它们便可以在特定的代码被运行到时被触发,这一特性可以被各种 trace/debug 工具所使用。Perf 就是该特性的用户之一。
Perf -- Linux下的系统性能调优工具,第 1 部分 应用程序调优的使用和示例 https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/i ...
- 系统级性能分析工具perf的介绍与使用
测试环境:Ubuntu16.04(在VMWare虚拟机使用perf top存在无法显示问题) Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance pro ...
随机推荐
- HNOI2018酱油记
按照惯例,每次比赛完以后都要写酱油记. Day0: 明天就要省选了,今天同学们都回去了(因为后天要去春游),整个年级只剩下竞赛生.本来打算晚上好好复习一下,结果......颓了一晚上......(好吧 ...
- 【Ray Tracing The Next Week 超详解】 光线追踪2-3
Preface 终于到了激动人心的纹理章节了 然鹅,看了下,并不激动 因为我们之前就接触过 当初有一个 attenuation 吗? 对了,这就是我们的rgb分量过滤器,我们画出的红色.蓝色.绿色等 ...
- odoo权限管理(二.记录管理)
规则保存在ir.rule模型表里,需要设置关联某个模型,关联很多组,访问权限控制和domian. 通过domain_force过滤出的一些记录来执行约束. 例子:经理只能删除状态为'cancel'的客 ...
- asp.net core 中的SignalR与web前端进行实时通信
一.介绍 SignalR是.net 开源库,用于构建需要实时进行用户交互和数据更新的web应用,如在线聊天,游戏,天气等实时应用程序,且简化了构建实时应用的过程,包括服务端库和js端库,继承了数种常见 ...
- UG中STP203和STP214的区别
UG转档STP203,STP214的区别:STP214转出的图档将保留原图属性,例如所在图层,曲面颜色,装配组件名称等.STP203没有上述功能.
- linux 驱动之LCD驱动(有framebuffer)
<简介> LCD驱动里有个很重要的概念叫帧缓冲(framebuffer),它是Linux系统为显示设备提供的一个接口,应用程序在图形模式允许对显示缓冲区进行读写操作.用户根本不用关心物理显 ...
- hdu 5821 Ball 贪心
Ball 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...
- Azure存储上传下载(断点续传)
最近有一个客户需要将文件系统(VM搭建)迁移到Azure存储上,对于Azure存储这里就不多做介绍,但是该客户由于网络原因下载文件的时候经常出现上传中断,所以想在Azure 存储上实现下载的断点续传. ...
- PS小技巧之完美抠图
具体详细步骤如下01.打开图片,ctrl+j复制一层得到图层1,点击红圈处新建图层2,放于图层1与背景层之间,填充你喜欢的颜色,作为检查效果和新的背景图层. 02.点击图层1,用“快速选择工具”大致做 ...
- java入门学习(十四)运算语句for
循环可用来重复执行一条语句或者含有多条语句的语句块.在大多数程序中都会需要重复执行一块语句. for 循环的基本语法是: for (表达式1:表达式2:表达式3) { 若干语句 } for语句由关键字 ...