Linux/Android 性能优化工具 perf

简介: /***************************************************************************** * Linux/Android 性能优化工具 perf * 说明: * 之前一直在找Android上的性能优化工具,但是一直不知道应该找哪方面的关键字, * 今天在看Android源代码目录的时候看到linux-tools-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源码目录情况:
    myzr@myzr:~/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
    myzr@myzr:~/myandroid/external$ 

三、Android perf
    root@android:/ # 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.

    root@android:/ # perf --version                                            
    perf version perf.3.0.8_android
    root@android:/ # 

 

目录
相关文章
|
2天前
|
数据可视化 小程序 Linux
【Linux】自动化构建工具make/Makefile和git介绍
【Linux】自动化构建工具make/Makefile和git介绍
8 0
|
2天前
|
Java Android开发
Android 反编译工具的使用
Android 反编译工具的使用
7 0
|
3天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
3天前
|
缓存 Linux
linux性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)
这些工具可以帮助你监视系统的内存使用情况、识别内存泄漏、找到高内存消耗的进程等。根据具体的问题和需求,你可以选择使用其中一个或多个工具来进行内存性能分析。注意,内存分析通常需要综合考虑多个指标和工具的输出,以便更好地理解系统的行为并采取相应的优化措施。
21 6
|
7天前
|
Linux
Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)
Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)
|
8天前
|
机器学习/深度学习 人工智能 缓存
安卓应用性能优化实践探索深度学习在图像识别中的应用进展
【4月更文挑战第30天】随着智能手机的普及,移动应用已成为用户日常生活的重要组成部分。对于安卓开发者而言,确保应用流畅、高效地运行在多样化的硬件上是一大挑战。本文将探讨针对安卓平台进行应用性能优化的策略和技巧,包括内存管理、多线程处理、UI渲染效率提升以及电池使用优化,旨在帮助开发者构建更加健壮、响应迅速的安卓应用。 【4月更文挑战第30天】 随着人工智能技术的迅猛发展,深度学习已成为推动计算机视觉领域革新的核心动力。本篇文章将深入分析深度学习技术在图像识别任务中的最新应用进展,并探讨其面临的挑战与未来发展趋势。通过梳理卷积神经网络(CNN)的优化策略、转移学习的实践应用以及增强学习与生成对
|
8天前
|
缓存 移动开发 Android开发
安卓应用性能优化实践指南
【4月更文挑战第30天】在移动开发领域,一个流畅的用户体验是至关重要的。对于安卓开发者来说,理解并实施性能优化策略能够显著提升应用的响应速度和稳定性。本文将深入探讨针对安卓平台的性能瓶颈诊断、内存管理、UI渲染优化以及电池使用效率提升等方面的实用技巧,旨在帮助开发者构建更加高效、响应迅速的安卓应用。
|
9天前
|
缓存 Android开发 iOS开发
打造高效移动应用:Android与iOS性能优化策略
【4月更文挑战第29天】 在移动设备日益成为用户日常互动的主要平台的今天,应用程序的性能已成为决定其成功的关键因素之一。本文将探讨针对Android和iOS平台的性能优化技巧,涵盖内存管理、多线程处理、网络请求优化以及用户界面的流畅性提升等方面。通过分析不同操作系统的架构特点,我们旨在提供一套综合性的策略,帮助开发者构建快速、响应迅捷且用户体验良好的应用。
|
9天前
|
移动开发 API Android开发
Android应用性能优化实战
【4月更文挑战第28天】在移动开发领域,一个流畅的用户体验是至关重要的。对于Android开发者而言,应用的性能优化是一项既挑战性也极其重要的工作。本文将深入探讨Android应用性能优化的多个方面,包括内存管理、UI渲染、多线程处理以及电池效率等,旨在为开发者提供实用的性能提升策略和具体的实施步骤。通过分析常见的性能瓶颈,并结合最新的Android系统特性和工具,我们的目标是帮助读者打造更加高效、响应迅速的Android应用。