zoukankan      html  css  js  c++  java
  • 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 COMMANDperf 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/

  • 相关阅读:
    添加多个tab,并循环修改tab样式
    00五大原则(转)
    win7 & IIS7.5 HTTP 错误 404.17 Not Found 请求的内容似乎是脚本,因而将无法由静态
    人类的奇怪之处
    创业公司CEO每天应该做的13件事(转),个人感觉,同样有几条也适合于自己,或部门领导。
    购物车功能分析
    ASP.NET中DataTable的用法
    jQuery插件列表
    jQuery灯箱插件lightBox使用方法
    一个黑客与电脑白痴的聊天纪录
  • 原文地址:https://www.cnblogs.com/mydomain/p/3204491.html
Copyright © 2011-2022 走看看