Linux/Android 性能优化工具 perf

时间:2023-03-08 21:03:35
/*****************************************************************************
* 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下的系统性能调优工具,第 部分
http://www.ibm.com/developerworks/cn/linux/l-cn-perf2/index.html 二、Android perf源码目录情况:
myzr@myzr:~/myandroid/external$ ls -al linux-tools-perf
total
drwxrwxr-x myzr myzr Jun : .
drwxrwxr-x myzr myzr Mar : ..
-rw-rw-r-- myzr myzr Apr Android.mk
-rw-rw-r-- myzr myzr Apr android.patch
drwxrwxr-x myzr myzr Apr arch
drwxrwxr-x myzr myzr Apr bench
-rw-rw-r-- myzr myzr Apr builtin-annotate.c
-rw-rw-r-- myzr myzr Apr builtin-bench.c
-rw-rw-r-- myzr myzr Apr builtin-buildid-cache.c
-rw-rw-r-- myzr myzr Apr builtin-buildid-list.c
-rw-rw-r-- myzr myzr Apr builtin-diff.c
-rw-rw-r-- myzr myzr Apr builtin-evlist.c
-rw-rw-r-- myzr myzr Apr builtin.h
-rw-rw-r-- myzr myzr Apr builtin-help.c
-rw-rw-r-- myzr myzr Apr builtin-inject.c
-rw-rw-r-- myzr myzr Apr builtin-kmem.c
-rw-rw-r-- myzr myzr Apr builtin-kvm.c
-rw-rw-r-- myzr myzr Apr builtin-list.c
-rw-rw-r-- myzr myzr Apr builtin-lock.c
-rw-rw-r-- myzr myzr Apr builtin-probe.c
-rw-rw-r-- myzr myzr Apr builtin-record.c
-rw-rw-r-- myzr myzr Apr builtin-report.c
-rw-rw-r-- myzr myzr Apr builtin-sched.c
-rw-rw-r-- myzr myzr Apr builtin-script.c
-rw-rw-r-- myzr myzr Apr builtin-stat.c
-rw-rw-r-- myzr myzr Apr builtin-test.c
-rw-rw-r-- myzr myzr Apr builtin-timechart.c
-rw-rw-r-- myzr myzr Apr builtin-top.c
-rw-rw-r-- myzr myzr Apr CleanSpec.mk
-rw-rw-r-- myzr myzr Apr command-list.txt
-rw-rw-r-- myzr myzr Apr common-cmds.h
drwxrwxr-x myzr myzr Apr config
-rw-rw-r-- myzr myzr Apr CREDITS
-rw-rw-r-- myzr myzr Apr design.txt
drwxrwxr-x myzr myzr Apr Documentation
drwxrwxr-x myzr myzr Apr .git
drwxrwxr-x myzr myzr Apr host-darwin-fixup
drwxrwxr-x myzr myzr Apr host-linux-fixup
-rw-rw-r-- myzr myzr Apr Makefile
-rw-rw-r-- myzr myzr Apr MANIFEST
-rw-rw-r-- myzr myzr Apr mm.c
-rw-rw-r-- myzr myzr Apr perf-archive.sh
-rw-rw-r-- myzr myzr Apr perf.c
-rw-rw-r-- myzr myzr Apr PERF-CFLAGS
-rw-rw-r-- myzr myzr Apr perf.h
-rw-rw-r-- myzr myzr Apr PERF-VERSION-FILE
drwxrwxr-x myzr myzr Apr python
drwxrwxr-x myzr myzr Apr scripts
drwxrwxr-x myzr myzr Apr 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:/ #