2011-05-26 77 views
8

我正在制作一个小型的Android应用程序,以显示Windows任务管理器中选项卡性能的当前总CPU使用率。 我使用“top -m 1 -n 1 -d 1”来获取CPU使用率,但我并不真正了解“top”的结果。Android中的Descrip“top”命令

像其结果是:

User 5%, system 15%, IOW 0%, IRQ 0% 
User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92 
PID  CPU% S #THR VSS RSS UID  Name 
213  11% R 1  900K 340K app_16 top 

CPU使用率= ??? 我如何计算总CPU使用率?

回答

10

对于这个问题,接受的答案不正确。输出的第二行是在该分组中启动的线程/进程的数量。上面的CPU使用率为20%。其中5%来自用户应用程序,15%来自系统应用程序。您有73个空闲线程,14个系统线程和5个用户线程(根据第二行)。例如,

这里是我的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 

根据接受的答案,我会有310%的CPU使用率,当这实际上只是线程数。我很确定我实际上只使用了11%的CPU,其中前3个进程使用了​​总数的9%。

+0

如果cpu有多核心,那么解释是什么? – Rilwan 2014-01-17 15:09:35

+1

不正确,请参阅下面的正确答案(http://stackoverflow.com/a/15497011/2201815) – Denisigo 2016-12-22 12:04:32

-4

CPU利用率百分比为(100-idle_percentage),或多或少。在你的片段中,Idle的百分比是73,这使得你的CPU使用率达到27%。

至于每个进程的CPU使用情况,这将是您最后2行的第二列。

+0

感谢您的建议,这对我有很大的帮助。 – VietAnh 2011-05-27 02:24:27

+1

正如@jedmodson提到的是他的回答,从发布的例子'73'是空闲线程的数量,而不是闲置百分比。 – HeatfanJohn 2013-01-09 17:43:52

-2

top命令是一个linux命令。 看一看here

感谢 迪帕克

+0

我阅读本手册,但不明白如何计算CPU使用率。 – VietAnh 2011-05-27 02:27:04

5

的实际问题的答案是简单直接 - 可以从机器人顶部的输出的第一行

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

总计=所有百分比的总和= 5 + 15 = 20%

计算

关于第二行的其他答案是错误的。第二行实际上给出了该特定状态下的调度程序时间 - 用户/ sys/idle/iow在jiffies(通常为10ms)之间,在top的一个输出和top的下一个输出之间 - 在OP的情况下为top -d 1 - 每秒打印一次使用 - 每个核心的总共约100个(假设每个jiffy为10ms) - 这与百分比值相似。

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

然而,该值会更多,如果-d较高或者有一个以上的核

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

这可能是没有任何-d选项,这样top需要3秒的默认延迟= 300 jiffies。

请参阅AOSP top sourcecode以获取如何计算每个值的完整逻辑。

+0

这应该是被接受的答案。第二行给出了花费的时间,而不是线程。 – 2014-12-04 08:01:03