perf  top

通过-e指定关注的事件,比如查看造成cache miss最多的函数排行

perf top -e cache-misses

perf top -e task-clock

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 stat

perf stat -e task-clock -e context-switches -p  进程号
perf stat -e stalled-cycles-frontend -p  进程号

perf  stat -r  50 ls

Perf可以帮你统计N次结果的数值波动情况:

perf stat --repeat 5 -e kmem:mm_page_pcpu_drain -e  kmem:mm_page_alloc -e kmem:mm_pagevec_free -e kmem:mm_page_free_direct ./t2  10

perf record -a

perf report

perf record –e cpu-clock  ./t1

perf report

Perf list,perf 事件

使用 perf list 命令可以列出所有能够触发 perf 采样点的事件。

Hardware Event 是由 PMU 硬件产生的事件,比如 cache 命中,当您需要了解程序对硬件特性的使用情况时,便需要对这些事件进行采样;

Software Event 是内核软件产生的事件,比如进程切换,tick 数等 ;

Tracepoint event 是内核中的静态 tracepoint 所触发的事件,这些 tracepoint 用来判断程序运行期间内核的行为细节,比如 slab 分配器的分配次数等。

List of pre-defined events (to be used in -e):
  cpu-cycles OR cycles                               [Hardware event]
  instructions                                       [Hardware event]
  cache-references                                   [Hardware event]
  cache-misses                                [Hardware event]
  branch-instructions OR branches                    [Hardware event]
  branch-misses                               [Hardware event]
  bus-cycles                                         [Hardware event]
  stalled-cycles-frontend OR idle-cycles-frontend    [Hardware event]
  stalled-cycles-backend OR idle-cycles-backend      [Hardware event]
  ref-cycles                                         [Hardware event]

  cpu-clock                                   [Software event]
  task-clock                                         [Software event]
  page-faults OR faults                              [Software event]
  context-switches OR cs                      [Software event]
  cpu-migrations OR migrations                       [Software event]
  minor-faults                                       [Software event]
  major-faults                                       [Software event]
  alignment-faults                                   [Software event]
  emulation-faults                                   [Software event]

L1-dcache-loads                                    [Hardware cache event]
  L1-dcache-load-misses                              [Hardware cache event]
  L1-dcache-stores                                   [Hardware cache event]
  L1-dcache-store-misses                             [Hardware cache event]
  L1-dcache-prefetches                               [Hardware cache event]
  L1-dcache-prefetch-misses                          [Hardware cache event]
  L1-icache-loads                                    [Hardware cache event]
  L1-icache-load-misses                              [Hardware cache event]
  L1-icache-prefetches                               [Hardware cache event]
  L1-icache-prefetch-misses                          [Hardware cache event]
  LLC-loads                                          [Hardware cache event]
  LLC-load-misses                                    [Hardware cache event]
  LLC-stores                                         [Hardware cache event]
  LLC-store-misses                                   [Hardware cache event]
  LLC-prefetches                                     [Hardware cache event]
  LLC-prefetch-misses                                [Hardware cache event]
  dTLB-loads                                         [Hardware cache event]
  dTLB-load-misses                                   [Hardware cache event]
  dTLB-stores                                        [Hardware cache event]
  dTLB-store-misses                                  [Hardware cache event]
  dTLB-prefetches                                    [Hardware cache event]
  dTLB-prefetch-misses                               [Hardware cache event]

iTLB-loads                                         [Hardware cache event]
  iTLB-load-misses                                   [Hardware cache event]
  branch-loads                                       [Hardware cache event]
  branch-load-misses                                 [Hardware cache event]
  node-loads                                         [Hardware cache event]
  node-load-misses                                   [Hardware cache event]
  node-stores                                        [Hardware cache event]
  node-store-misses                                  [Hardware cache event]
  node-prefetches                                    [Hardware cache event]
  node-prefetch-misses                               [Hardware cache event]

mem:<addr>[:access]                                [Hardware breakpoint]

sunrpc:rpc_call_status                             [Tracepoint event]
  sunrpc:rpc_bind_status                             [Tracepoint event]
  sunrpc:rpc_connect_status                          [Tracepoint event]
  sunrpc:rpc_task_begin                              [Tracepoint event]
  sunrpc:rpc_task_run_action                         [Tracepoint event]

.............

perf常用命令(perf top perf record perf stat)相关推荐

  1. linux常用命令:top 命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是 一个动态显示过程,即可以通过用户按键来不断刷 ...

  2. Linux 常用命令之top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都 ...

  3. perf常用用法简介

    perf是linux内核自带的性能分析工具,由于其和对应的内核版本同步发布,不需要单独安装,同时功能又很强大,因此成为了笔者的主要性能分析工具.本文主要从笔者的实际使用情况出发,介绍一下perf工具的 ...

  4. 日更第11天:Linux常用命令之chmod用法

    大家好,我是胖邰.今天是挑战的第11天,真没想到自己能坚持过半,先表扬一下自己.这次文章主要介绍使用chmod的用法.来吧,让我们一起了解下. 1. 命令简介 chmod 命令是用来修改某个文件或文件 ...

  5. 日更第13天:Linux常用命令之cat用法

    1. 命令简介 cat 命令官方的解释是用来连接所有指定文件并将结果写到标准输出.简单理解它最基本的功能是可以查看文件的内容.除此之外,我们还可以利用cat来创建文件或者把几个文件内容进行合并输出.功 ...

  6. 日更第14天:Linux常用命令之kill用法

    1. 命令简介 kill 命令是用来终止指定的进程,我们试想一下,在我们运行的程序出现异常,比如:程序死锁.程序意外宕机,我们再次重启时,反馈说原来的进程还未完全关闭,既然不能够优雅的将其关闭,那必然 ...

  7. 日更第20天:Linux常用命令之head用法

    1. 命令简介 head 命令是用于查看文件开头部分的内容,默认打印文件前10行数据. 官方解释 Print the first 10 lines of each FILE to standard o ...

  8. CPU 偏高,和linux常用命令

    CPU 偏高,和linux常用命令 一. 1.常用命令 2.top 查看整体的cpu占有率(哪个进程cpu占用过高) 3.top -Hp 8779 查看该pid 下哪个进程占用过高 4.打印dump日 ...

  9. perf 补充命令分享

    目录 1. 背景知识 1.1 tracepoints 1.2 硬件特性之cache 2. 主要关注点 3. perf的使用 3.0 perf引入的overhead 3.1 perf list 3.2 ...

最新文章

  1. 5行代码就能入门爬虫?
  2. python下的所有文件_python批量复制文件夹下所有文件大小
  3. 神奇的JavaScript之正则
  4. ajax操作的链式写法
  5. 获得jmp esp地址
  6. mysql timdir_MYSQL学习笔记——数据类型
  7. 软件测试:第六次作业
  8. Ajax案例-基于XML,以POST方式,完成省份-城市二级下拉联动
  9. LeetCode3 无重复字符的最长子串
  10. 【Unity3D】动态更换天空盒(场景不受天空盒影响 等问题)
  11. Roslyn 入门:使用 .NET Core 版本的 Roslyn 编译并执行跨平台的静态的源码
  12. k8s service nodeport
  13. 美通社企业新闻汇总 | 2019.3.7 | 百胜中国在上海设创新中心;折叠手机2019年预计仅占智能手机市场渗透率0.1%...
  14. ubuntu 使用 egl
  15. 架构师说低代码:走出半生,归来仍是“毒瘤”!
  16. 选择SAP IBP(集成业务计划云)的十大理由
  17. 蓝桥杯练习算法题(矩形切割成正方形)
  18. python万年历函数输入某一年某一月_Python自定义函数计算给定日期是该年第几天的方法示例...
  19. Arduinomega2560与LCD12864
  20. 批处理备份及删除,forfiles命令详解

热门文章

  1. 基因编辑婴儿的意味着什么
  2. Dev C++开发lib和dll
  3. ROS | 基于MQTT的通信方式mqtt_bridge
  4. android中实现微信九宫格,微信小程序九宫格布局
  5. 台式计算机电源线 规格,台式电脑电源线怎么接
  6. appium 切换上下文的时候报错
  7. 记一次Selenium框架的爬虫遇到下拉框页面的解决经历
  8. 用CH341A烧录外挂Flash (W25Q16JV)
  9. css3 打车软件等车动画,简单一个渐变放大消失水波加载动画
  10. 写给女朋友的java_Java会说情话的女朋友