perf 命令
perf 是用来进行软件性能分析的工具。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。
它不但可以分析指定应用程序的性能问题,也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。
perf list
使用 perf list 命令可以列出所有能够触发 perf 采样点的事件。
perf stat <program>
总体分析
perf top
用于实时显示当前系统的性能统计信息。该命令主要用来观察整个系统当前的状态,比如可以通过查看该命令的输出来查看当前系统最耗时的内核函数或某个用户进程。
perf record
perf record -a -e cycles -o cycle.perf -g sleep
-a 对所有 CPU 采样
-o 输出文件名,如果不指定,默认生成 perf.data
-g 额外记录函数调用关系
sleep 10 采样 10s
perf report
perf report -i <file>
-i 指定 perf record 生成的 perf data 文件,如果不指定 -i 则默认分析 perf.data 文件。
--max-stack=0 只输出第一层函数调用
--stdio 输出到标准输出
perf 命令的更多相关文章
- perf命令
		
@(Linux基础)[perf命令] perf命令 ---- 简介 Perf是内置于Linux内核源码树中的性能剖析(profiling)工具,它基于事件采样原理,以性能事件为基础,支持针对处理器相关 ...
 - 火焰图&perf命令
		
最近恶补后端技术,发现还是很多不懂,一直写业务逻辑容易迷失,也没有成长.自己做系统,也习惯用自己已知的知识来解决,以后应该多点调研,学到更多的东西应用起来. 先学一个新的性能分析命令. NAME pe ...
 - Linux perf命令详解及常用参数解析
		
perf 相关命令:暂无相关命令 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找. Perf List利用perf剖析程序性能时,需要指定当前测试的性能时间.性能事件是指在 ...
 - perf + Flame Graph火焰图分析程序性能
		
1.perf命令简要介绍 性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果 ...
 - SUSE11sp3 perf工具安装过程
		
工作环境是suse11sp3系统(内核版本3.0.101-0.47.90-default),需要通过perf排查系统性能问题,但是默认是没有perf工具的. 在网上搜索了一下,需要linux-tool ...
 - [转]perf + 火焰图分析程序性能
		
1.perf命令简要介绍 性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果 ...
 - 在TQ2440上运行perf,生成Flame Graph
		
参考 http://www.cnblogs.com/helloworldtoyou/p/5585152.html http://blog.csdn.net/mtofum/article/detail ...
 - perf工具crash的问题
		
perf抓取时系统crash的情况.找前同事了解到perf工具导致系统crash的一种情况, perf工具默认是使用cycles,这个硬件事件是使用NMI,可能会导致内核错误. 之前文档上的perf命 ...
 - perf + 火焰图分析程序性能
		
1.perf命令简要介绍 性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果 ...
 
随机推荐
- python cv2读取rtsp实时码流按时生成连续视频文件
			
代码实现 # coding: utf-8 import datetime import cv2 import os ip = '192.168.3.160'.replace("." ...
 - 【Groovy】 Groovy笔记
			
一.简单了解Groovy Groovy简介: Groovy是基于JVM的敏捷开发语言,语法与Java类似,但更加简洁,容错性也比Java强,同时Java能非常好的契合(例如Groovy能够使用Java ...
 - Elasticsearch没看文档之前,整理的一些知识
			
1 基础 index -> 数据库 type -> 表 document -> 行 field -> 列 ----------------------------------- ...
 - 测试Random类nextInt()方法连续两次结果一样的概率
			
public static void main(String[] args) { int count = 0; int a = 0; Random r = new Random(); while (t ...
 - Delphi 处理异常情况
 - python学习-Python简介以及运行环境
			
Python语言是全世界几百种编程语言中的一个,诞生时间不算长,但是现在已经成为很热门的语言,近几年在TIOBE排行榜一直呈现上升趋势,截止19年2月,python已经超过C++成为排名第三的语言. ...
 - dumpe2fs  Linux支持的文件系统
			
dumpe2fs (-bh)装置文件名 选项与参数: -b : 列出保留为坏轨的部分 -h : 仅列出superblock的数据,不会列出其他的区段内容 查看Linux支持的文件系统哪些支持: ls ...
 - Python 实用爬虫-04-使用 BeautifulSoup 去水印下载 CSDN 博客图片
			
Python 实用爬虫-04-使用 BeautifulSoup 去水印下载 CSDN 博客图片 其实没太大用,就是方便一些,因为现在各个平台之间的图片都不能共享,比如说在 CSDN 不能用简书的图片, ...
 - ffmpeg函数02__swr_alloc_set_opts()
			
SwrContext *swr_alloc(void); // 分配重采样的上下文. SwrContext *swr_alloc_set_opts(struct SwrContext *s, int ...
 - 使用GitHub(三):使用VSCode+GitHub进行版本控制
			
使用GitHub(三):使用VSCode+GitHub进行版本控制 本文简单介绍使用VSCode+GitHub进行项目或者代码的版本控制.本文主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和 ...