idlestat 工具在Android上的使用

1. idlestat 工具source code地址在github上面:https://github.com/samarxie/cpuidle/tree/master/idlestat

2. github上面写的很清楚,怎么编译的(可能会编译出错,因为很多系统都存在cpuhotplug目录,所以在遍历的时候需要将此目录过滤掉,文件为topology.c)如下:

        if(!strcmp(direntp->d_name, "cpuhotplug"))
            continue;

3.  使用方法很简单,如下:

Usage:
Trace mode:
	idlestat --trace -f|--trace-file <filename> -b|--baseline-trace <filename> -o|--output-file <filename> -t|--duration <seconds> -r|--report-format <format> -C|--csv-report -B|--boxless-report -c|--idle -p|--frequency -w|--wakeup
Reporting mode:
	idlestat --import -f|--trace-file <filename> -b|--baseline-trace <filename> -r|--report-format <format> -C|--csv-report -B|--boxless-report -o|--output-file <filename>

Examples:
1. Run a trace, post-process the results (default is to show only C-state statistics):
	sudo ./idlestat --trace -f /tmp/mytrace -t 10

2. Run a trace, post-process the results and print all statistics:
	sudo ./idlestat --trace -f /tmp/mytrace -t 10 -p -c -w

3. Run a trace with an external workload, post-process the results:
	sudo ./idlestat --trace -f /tmp/mytrace -t 10 -p -c -w -- rt-app /tmp/mp3.json

4. Post-process a trace captured earlier:
	./idlestat --import -f /tmp/mytrace

5. Run a trace, post-process the results and print all statistics into a file:
	sudo ./idlestat --trace -f /tmp/mytrace -t 10 -p -c -w -o /tmp/myreport

6. Run a comparison trace, say, before and after making changes to system behaviour
	sudo ./idlestat --trace -f /tmp/baseline -t 10
	sudo ./idlestat --trace -f /tmp/changedstate -t 10
	./idlestat --import -f /tmp/changedstate -b /tmp/baseline -r comparison

Report formats supported: default boxless csv comparison

4. 执行命令之后可以看到如下信息(./idlestat --trace -f trace.txt -p -c -t 10):

./idlestat --trace -f trace.txt -p -c -t 10                                                                                                                                              
failed to open '/sys/devices/system/cpu/cpuhotplug/dynamic_load_disable': m
failed to open '/sys/devices/system/cpu/cpuhotplug/dynamic_load_disable': m
Log is 10.010598 secs long with 30063 events
--------------------------------------------------------------------------------
| C-state  |   min    |   max    |   avg    |   total  | hits  |  over | under |
--------------------------------------------------------------------------------
| clusterA                                                                     |
--------------------------------------------------------------------------------
|      WFI |      1us |   8.19ms |   1.02ms |    3.72s |  3629 |     1 |   261 |
|  core_pd |    589us |   8.18ms |   6.49ms |    4.41s |   680 |    27 |     0 |
--------------------------------------------------------------------------------
|             cpu0                                                             |
--------------------------------------------------------------------------------
|      WFI |      5us |  10.48ms |   1.54ms |    3.64s |  2361 |     0 |   844 |
|  core_pd |    810us |   9.76ms |   6.60ms |    5.08s |   769 |    52 |     0 |
--------------------------------------------------------------------------------
|             cpu1                                                             |
--------------------------------------------------------------------------------
|      WFI |      3us |  21.13ms |   1.75ms |    3.23s |  1847 |     0 |   691 |
|  core_pd |    516us |  24.75ms |   7.60ms |    5.97s |   785 |    49 |     0 |
--------------------------------------------------------------------------------
|             cpu2                                                             |
--------------------------------------------------------------------------------
|      WFI |      3us |  21.49ms |   2.02ms |    2.32s |  1149 |     0 |   722 |
|  core_pd |     82us |  50.64ms |   9.89ms |    7.24s |   732 |    25 |     0 |
--------------------------------------------------------------------------------
|             cpu3                                                             |
--------------------------------------------------------------------------------
|      WFI |      4us |  65.09ms |   1.90ms | 613.13ms |   323 |     0 |   145 |
|  core_pd |    545us | 604.06ms |  62.26ms |    9.21s |   148 |    11 |     0 |
--------------------------------------------------------------------------------
| clusterB                                                                     |
--------------------------------------------------------------------------------
|      WFI |     30us |   5.03ms |   2.35ms | 131.60ms |    56 |     0 |    31 |
|  core_pd |    292us |    2.70s | 491.48ms |    9.83s |    20 |     3 |     0 |
--------------------------------------------------------------------------------
|             cpu4                                                             |
--------------------------------------------------------------------------------
|      WFI |     30us |   5.03ms |   2.70ms |  94.57ms |    35 |     0 |    24 |
|  core_pd |   3.06ms |    2.70s | 705.80ms |    9.88s |    14 |     0 |     0 |
--------------------------------------------------------------------------------
|             cpu5                                                             |
--------------------------------------------------------------------------------
|      WFI |   1.04ms |   3.95ms |   2.85ms |  22.78ms |     8 |     0 |     5 |
|  core_pd |    1.04s |    4.00s |    2.49s |    9.97s |     4 |     0 |     0 |
--------------------------------------------------------------------------------
|             cpu6                                                             |
--------------------------------------------------------------------------------
|      WFI |   2.50ms |   2.51ms |   2.50ms |   7.51ms |     3 |     0 |     2 |
|  core_pd |    2.46s |    4.00s |    3.33s |   10.00s |     3 |     0 |     0 |
--------------------------------------------------------------------------------
|             cpu7                                                             |
--------------------------------------------------------------------------------
|      WFI |   2.50ms |   3.96ms |   3.07ms |  21.47ms |     7 |     0 |     3 |
|  core_pd |   2.37ms |    4.00s |    2.50s |    9.98s |     4 |     1 |     0 |
--------------------------------------------------------------------------------

----------------------------------------------------------------
| P-state  |   min    |   max    |   avg    |   total  | hits  |
----------------------------------------------------------------
| clusterA                                                     |
----------------------------------------------------------------
| 768.00MHz |    136us |    2.35s |  87.44ms |    9.44s |   108 |
| 884.00MHz |    475us |   9.01ms |   2.09ms |  52.19ms |    25 |
|  1.00GHz |    475us |   8.69ms |   2.35ms |  63.54ms |    27 |
|  1.10GHz |    452us |   5.04ms |   1.35ms |  26.91ms |    20 |
|  1.20GHz |    439us |  23.97ms |   3.84ms | 425.71ms |   111 |
----------------------------------------------------------------
|             cpu0                                             |
----------------------------------------------------------------
| 768.00MHz |      6us |  11.62ms |    328us | 942.43ms |  2877 |
| 884.00MHz |     15us |   7.39ms |    346us |  24.23ms |    70 |
|  1.00GHz |     13us |   4.05ms |    386us |  24.68ms |    64 |
|  1.10GHz |     13us |   1.89ms |    339us |  15.61ms |    46 |
|  1.20GHz |     11us |  23.96ms |    860us | 293.19ms |   341 |
----------------------------------------------------------------
|             cpu1                                             |
----------------------------------------------------------------
| 768.00MHz |      5us |   8.02ms |    233us | 562.44ms |  2416 |
| 884.00MHz |     25us |   2.09ms |    485us |  22.30ms |    46 |
|  1.00GHz |     18us |   3.78ms |    520us |  24.94ms |    48 |
|  1.10GHz |     22us |   2.26ms |    514us |  16.98ms |    33 |
|  1.20GHz |     18us |  12.00ms |    552us | 183.86ms |   333 |
----------------------------------------------------------------
|             cpu2                                             |
----------------------------------------------------------------
| 768.00MHz |     15us |   2.62ms |    159us | 265.49ms |  1672 |
| 884.00MHz |     22us |   1.95ms |    280us |  12.62ms |    45 |
|  1.00GHz |     20us |   7.20ms |    565us |  25.44ms |    45 |
|  1.10GHz |     19us |   2.63ms |    297us |  10.39ms |    35 |
|  1.20GHz |      1us |  15.12ms |    473us | 136.33ms |   288 |
----------------------------------------------------------------
|             cpu3                                             |
----------------------------------------------------------------
| 768.00MHz |      2us |   2.61ms |    171us |  51.47ms |   301 |
| 884.00MHz |     25us |   3.74ms |    424us |  11.88ms |    28 |
|  1.00GHz |     22us |   4.00ms |    448us |  16.57ms |    37 |
|  1.10GHz |     24us |   1.15ms |    299us |   7.77ms |    26 |
|  1.20GHz |      9us |  13.04ms |    489us |  94.77ms |   194 |
----------------------------------------------------------------
| clusterB                                                     |
----------------------------------------------------------------
| 768.00MHz |   1.98ms |    2.47s | 506.39ms |    2.53s |     5 |
|  1.05GHz |   7.95ms |    2.72s |    1.36s |    2.73s |     2 |
|  1.50GHz |  12.01ms |    2.46s | 841.98ms |    2.53s |     3 |
|  1.57GHz |    2.23s |    2.23s |    2.23s |    2.23s |     1 |
----------------------------------------------------------------
|             cpu4                                             |
----------------------------------------------------------------
| 768.00MHz |     24us |   6.74ms |    333us |  13.67ms |    41 |
|  1.05GHz |     73us |   1.21ms |    577us |   4.04ms |     7 |
|  1.40GHz |  11.52ms |  11.52ms |  11.52ms |  11.52ms |     1 |
|  1.50GHz |     34us |   2.89ms |    557us |   7.80ms |    14 |
|  1.57GHz |     17us |    172us |     84us |    251us |     3 |
----------------------------------------------------------------
|             cpu5                                             |
----------------------------------------------------------------
| 768.00MHz |     24us |   7.46ms |    734us |   8.80ms |    12 |
|  1.57GHz |  10.59ms |  10.59ms |  10.59ms |  10.59ms |     1 |
----------------------------------------------------------------
|             cpu6                                             |
----------------------------------------------------------------
| 768.00MHz |     26us |   8.17ms |   1.47ms |   8.82ms |     6 |
|  1.50GHz |     22us |    215us |    119us |    237us |     2 |
----------------------------------------------------------------
|             cpu7                                             |
----------------------------------------------------------------
| 768.00MHz |     21us |   9.19ms |    922us |  11.06ms |    12 |
----------------------------------------------------------------

------------------------------------------------------------------------------------------------------------
| clusterA | 768.00MHz | 884.00MHz |   1.00GHz |   1.10GHz |   1.20GHz | P-State   | C-State   |
------------------------------------------------------------------------------------------------------------
| cpu0     |     9.411%|     0.242%|     0.246%|     0.156%|     2.928%|    12.983%|    87.017%|
| cpu1     |     5.617%|     0.223%|     0.249%|     0.170%|     1.836%|     8.094%|    91.906%|
| cpu2     |     2.653%|     0.126%|     0.254%|     0.104%|     1.362%|     4.499%|    95.501%|
| cpu3     |     0.514%|     0.119%|     0.166%|     0.078%|     0.947%|     1.823%|    98.177%|
------------------------------------------------------------------------------------------------------------
| clusterB | 768.00MHz |   1.05GHz |   1.40GHz |   1.50GHz |   1.57GHz | P-State   | C-State   |
------------------------------------------------------------------------------------------------------------
| cpu4     |     0.137%|     0.040%|     0.115%|     0.078%|     0.003%|     0.372%|    99.628%|
| cpu5     |     0.088%|     0.000%|     0.000%|     0.000%|     0.106%|     0.194%|    99.806%|
| cpu6     |     0.088%|     0.000%|     0.000%|     0.002%|     0.000%|     0.090%|    99.910%|
| cpu7     |     0.110%|     0.000%|     0.000%|     0.000%|     0.000%|     0.110%|    99.890%|
------------------------------------------------------------------------------------------------------------

5.  可以配合systrace抓取cpu schedule信息,查找schedule问题,cpu运行问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值