Descrip “top” command in Android

我的梦境 提交于 2019-12-05 03:06:14

The accepted answer for this question is incorrect. The second line of the output is the number of threads/processes that are launched in that grouping. Your CPU usage is 20% in the above. 5% of that is from user apps and 15% from system apps. You have 73 idle threads, 14 system threads, and 5 user threads (according to the second line).

for instance, here is a current top snapshot for my Droid.

User 6%, System 5%, IOW 0%, IRQ 0%
User 21 + Nice 0 + Sys 16 + Idle 270 + IOW 0 + IRQ 3 + SIRQ 0 = 310

  PID CPU% S  #THR     VSS     RSS PCY UID      Name
30994   4% S    19 134912K  24140K  bg app_24   edu.vu.isis.ammo.spotreport
 1021   3% S    57 217400K  58504K  fg system   system_server
20911   2% R     1    880K    400K  fg shell    top
 1053   0% S     1      0K      0K  fg root     tiwlan_wq
  995   0% S     2   1272K    128K  fg compass  /system/bin/akmd2

According to the accepted answer, I would have 310% CPU usage, when this is actually just the number of threads. I am pretty sure I am actually using only 11% of the CPU, where the top 3 processes are using 9% of that total.

The actual answer to the question is straight-forward - can be calculated from the first line of android top's output

User 5%, system 15%, IOW 0%, IRQ 0%

Total = sum of all the percentages = 5+15 = 20%

The other answer about second line is so wrong. The second line actually gives scheduler time spent in that particular state - user/sys/idle/iow in jiffies (normally 10ms) between one output of top and the next output of top - in OP's case top -d 1 - which prints usage every second - the total number of jiffies per core would be ~100 (assuming 10ms per jiffy) - which would be similar to percentage values.

User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92

Whereas, the values would be more if the -d is higher or if there are more than one cores

User 21 + Nice 0 + Sys 16 + Idle 270 + IOW 0 + IRQ 3 + SIRQ 0 = 310

This is probably without any -d option, so top takes default delay of 3 seconds = 300 jiffies.

Refer AOSP top sourcecode to get the complete logic of how each value is calculated.

The CPU usage percentage is given as (100-idle_percentage), more or less. In your snippet, the Idle percentage is 73, which makes your CPU usage 27%.

As for the per-process CPU usage, that will be your second column of the last 2 lines.

top command is a linux command. Have a look here

Thanks Deepak

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!