Linux/Android 性能优化工具 perf

/*****************************************************************************
 *                     Linux/Android 性能优化工具 perf
 * 说明:
 *     之前一直在找Android上的性能优化工具,但是一直不知道应该找哪方面的关键字,
 * 今天在看Android源代码目录的时候看到linux-tools-perf,查了点相关资料,最后
 * 发现这好像就是我一直在找的查看系统性能的工具,目前没有验证任何东西,先记录
 * 下这些东西。
 *
 *                                          2016-06-06 深圳 南山平山村 曾剑锋
 ****************************************************************************/

一、参考文章:
    Linux 性能优化工具 perf top
        http://www.68idc.cn/help/server/linux/20151119591702.html
    Perf -- Linux下的系统性能调优工具,第 2 部分
        http://www.ibm.com/developerworks/cn/linux/l-cn-perf2/index.html

二、Android perf源码目录情况:
    [email protected]:~/myandroid/external$ ls -al linux-tools-perf
    total 564
    drwxrwxr-x  12 myzr myzr  4096 Jun  6 11:05 .
    drwxrwxr-x 171 myzr myzr  4096 Mar 31 10:32 ..
    -rw-rw-r--   1 myzr myzr  6083 Apr 11  2014 Android.mk
    -rw-rw-r--   1 myzr myzr 42956 Apr 11  2014 android.patch
    drwxrwxr-x   8 myzr myzr  4096 Apr 30  2013 arch
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 bench
    -rw-rw-r--   1 myzr myzr  7607 Apr 11  2014 builtin-annotate.c
    -rw-rw-r--   1 myzr myzr  4952 Apr 11  2014 builtin-bench.c
    -rw-rw-r--   1 myzr myzr  3225 Apr 11  2014 builtin-buildid-cache.c
    -rw-rw-r--   1 myzr myzr  1508 Apr 11  2014 builtin-buildid-list.c
    -rw-rw-r--   1 myzr myzr  6473 Apr 11  2014 builtin-diff.c
    -rw-rw-r--   1 myzr myzr  1249 Apr 11  2014 builtin-evlist.c
    -rw-rw-r--   1 myzr myzr  2045 Apr 11  2014 builtin.h
    -rw-rw-r--   1 myzr myzr 11439 Apr 11  2014 builtin-help.c
    -rw-rw-r--   1 myzr myzr  5702 Apr 11  2014 builtin-inject.c
    -rw-rw-r--   1 myzr myzr 17676 Apr 11  2014 builtin-kmem.c
    -rw-rw-r--   1 myzr myzr  3746 Apr 11  2014 builtin-kvm.c
    -rw-rw-r--   1 myzr myzr  1387 Apr 11  2014 builtin-list.c
    -rw-rw-r--   1 myzr myzr 23756 Apr 11  2014 builtin-lock.c
    -rw-rw-r--   1 myzr myzr 11159 Apr 11  2014 builtin-probe.c
    -rw-rw-r--   1 myzr myzr 23259 Apr 11  2014 builtin-record.c
    -rw-rw-r--   1 myzr myzr 14754 Apr 11  2014 builtin-report.c
    -rw-rw-r--   1 myzr myzr 45433 Apr 11  2014 builtin-sched.c
    -rw-rw-r--   1 myzr myzr 28629 Apr 11  2014 builtin-script.c
    -rw-rw-r--   1 myzr myzr 33129 Apr 11  2014 builtin-stat.c
    -rw-rw-r--   1 myzr myzr 16940 Apr 11  2014 builtin-test.c
    -rw-rw-r--   1 myzr myzr 24003 Apr 11  2014 builtin-timechart.c
    -rw-rw-r--   1 myzr myzr 29062 Apr 11  2014 builtin-top.c
    -rw-rw-r--   1 myzr myzr  2599 Apr 11  2014 CleanSpec.mk
    -rw-rw-r--   1 myzr myzr   814 Apr 11  2014 command-list.txt
    -rw-rw-r--   1 myzr myzr  1536 Apr 11  2014 common-cmds.h
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 config
    -rw-rw-r--   1 myzr myzr   603 Apr 11  2014 CREDITS
    -rw-rw-r--   1 myzr myzr 17723 Apr 11  2014 design.txt
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 Documentation
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 .git
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 host-darwin-fixup
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 host-linux-fixup
    -rw-rw-r--   1 myzr myzr 29895 Apr 11  2014 Makefile
    -rw-rw-r--   1 myzr myzr   288 Apr 11  2014 MANIFEST
    -rw-rw-r--   1 myzr myzr    29 Apr 11  2014 mm.c
    -rw-rw-r--   1 myzr myzr  1229 Apr 11  2014 perf-archive.sh
    -rw-rw-r--   1 myzr myzr 12418 Apr 11  2014 perf.c
    -rw-rw-r--   1 myzr myzr   536 Apr 11  2014 PERF-CFLAGS
    -rw-rw-r--   1 myzr myzr  4880 Apr 11  2014 perf.h
    -rw-rw-r--   1 myzr myzr    21 Apr 11  2014 PERF-VERSION-FILE
    drwxrwxr-x   2 myzr myzr  4096 Apr 11  2014 python
    drwxrwxr-x   4 myzr myzr  4096 Apr 30  2013 scripts
    drwxrwxr-x   6 myzr myzr  4096 Apr 11  2014 util
    [email protected]:~/myandroid/external$ 

三、Android perf
    [email protected]:/ # perf                                                          

     usage: perf [--version] [--help] COMMAND [ARGS]

     The most commonly used perf commands are:
       annotate        Read perf.data (created by perf record) and display annotated code
       archive         Create archive with object files with build-ids found in perf.data file
       bench           General framework for benchmark suites
       buildid-cache   Manage build-id cache.
       buildid-list    List the buildids in a perf.data file
       diff            Read two perf.data files and display the differential profile
       evlist          List the event names in a perf.data file
       inject          Filter to augment the events stream with additional information
       kmem            Tool to trace/measure kernel memory(slab) properties
       kvm             Tool to trace/measure kvm guest os
       list            List all symbolic event types
       lock            Analyze lock events
       probe           Define new dynamic tracepoints
       record          Run a command and record its profile into perf.data
       report          Read perf.data (created by perf record) and display the profile
       sched           Tool to trace/measure scheduler properties (latencies)
       script          Read perf.data (created by perf record) and display trace output
       stat            Run a command and gather performance counter statistics
       test            Runs sanity tests.
       timechart       Tool to visualize total system behavior during a workload
       top             System profiling tool.

     See ‘perf help COMMAND‘ for more information on a specific command.

    [email protected]:/ # perf --version
    perf version perf.3.0.8_android
    [email protected]:/ # 
时间: 2024-10-06 11:00:51

Linux/Android 性能优化工具 perf的相关文章

Android性能优化——工具篇

Android性能优化是Android开发中经常遇见的一个问题,接下来将对Android性能优化方面的知识点做一个简单的梳理和总结,将从工具和代码两方面进行梳理.所谓工欲善其事必先利其器,本文首先来看一下Android性能优化有哪些得力的工具. TraceView traceview是Android SDK中自带的一个工具,可以对应用中方法调用耗时进行统计分析,是Android性能优化和分析时一个很重要的工具.traceview位于SDK下的tools目录中,使用时可以在cmd窗口运行trace

Android性能优化工具之Systrace

本文大部分内容来自:http://www.androidperformance.com/android-performance-tools-systrace-1.html?utm_source=tuicool Systrace是Android4.1中新增的性能数据采样和分析工具.它可帮助开发者收集Android关键子系统(如surfaceflinger.WindowManagerService等Framework部分关键模块.服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,

系统级性能分析工具perf的介绍与使用

测试环境:Ubuntu14.04  on VMWare Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化.性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码.代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能. 在性能剖析阶段,需要借助于现有的profiling工具,如perf等.在代码优化阶段往往需要借助开发者的经验,编写简洁高效的代码,甚至在汇编级别合理使用各种指令,合理安排各种指

Linux的系统级性能剖析工具-perf

一直在找个靠谱且易用的性能分析工具,perf 貌似是很符合要求的,先给出阿里整理的几篇文档: Linux的系统级性能剖析工具-perf-1.pdf Linux的系统级性能剖析工具-perf-2.pdf Linux的系统级性能剖析工具-perf-3.pdf Perf在Linux性能评估中的应用_v3.pdf Linux的系统级性能剖析工具-perf,布布扣,bubuko.com

Android 性能优化 五 性能分析工具dumpsys的使用

Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过dumpsys | grep "DUMP OF SERVICE" 仅显示主要的Service的信息 一.列出dumpsys所有支持命令 > adb shell $ dumpsys | grep "DUMP OF SERVICE" 以下是在我个人三星S3手机上的输

perf工具-linux下性能分析工具

从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找. 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 (CP

Android性能优化方法(八)

Android SDK tools目录下提供一个观察布局的工具,层级观察器(Hierarchy Viewer).Hierarchy Viewer工具是一个非常好的布局优化工具,同时,你也可以通过它学习他人的布局.应该说是一个非常实用的工具. AD:WOT2014:用户标签系统与用户数据化运营培训专场 层级观察器(Hierarchy Viewer): Android SDK tools目录下提供一个观察布局的工具,层级观察器(Hierarchy Viewer).Hierarchy Viewer工具

Android性能优化:手把手带你全面了解 内存泄露 & 解决方案

. 简介 即 ML (Memory Leak)指 程序在申请内存后,当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象2. 对应用程序的影响 容易使得应用程序发生内存溢出,即 OOM 内存溢出 简介: 示意图3. 发生内存泄露的本质原因 具体描述示意图 特别注意 从机制上的角度来说,由于 Java存在垃圾回收机制(GC),理应不存在内存泄露:出现内存泄露的原因仅仅是外部人为原因 = 无意识地持有对象引用,使得 持有引用者的生命周期 > 被引用者的生命周期4. 储备知识:Androi

Google 发布 Android 性能优化典范

2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议.主要从三个 方面展开,Android的渲染机制,内存与GC,电量优化.下面是对这些问题和建议的总结梳理. 0)Render Performance 大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能.从设计