如何阅读Stock CPU Usage数据

时间:2012-05-31 07:58:24

标签: android cpu-usage

在Ice Cream Sandwich上,Developer Options中的一个选项是“Show CPU Usage”,它在屏幕上添加了一个叠加层(见下面的截图)。

我的问题是,我该如何阅读数据?我猜测包名是当前活动的过程,但背后的红色和绿色条是什么意思? 还有什么是包装顶部的3个数字?

enter image description here

5 个答案:

答案 0 :(得分:75)

这应该是Unix负载平均值。 Wikipedia有一篇很好的文章。

数字显示不同时间间隔内CPU的平均负载。从左到右:最后一分钟/最后五分钟/最后十五分钟

答案 1 :(得分:9)

到目前为止,这是我能找到的最有用的信息来源。 显然这些数字不会以%表示重复加载平均值: http://forum.xda-developers.com/showthread.php?t=1495763

答案 2 :(得分:2)

正如其他答案所指出的那样,在UNIX系统上,这些数字表示超过1/5/15分钟的 CPU负载平均值。但是在Linux(以及Android)上,它代表的是不同的东西。

在一个可追溯到1993年的内核补丁(一个great in-depth article on the subject)之后,在Linux中,负载平均数不再严格代表 CPU 负载:因为计算不仅仅考虑CPU绑定进程,但也适用于不间断等待状态的进程 - 最初的目标是以这种方式考虑I / O绑定进程,以表示更多的系统负载"而不仅仅是CPU负载。问题是,自1993年以来,Linux内核中不可中断状态的使用已经增长,并且它通常不再代表I / O绑定进程。一些Linux开发人员使用不间断等待来轻松等待以避免在其实现中容纳信号,这进一步加剧了这个问题。因此,在Linux(和Android)中,我们可以看到不能客观地代表实际负载的偏差高负载平均数。有关于不合理的高负载平均值的Android用户报告与低CPU利用率形成鲜明对比。例如,当系统和CPU处于空闲状态时,我的旧Android手机(带有2个CPU内核)通常会显示~12的平均负载。因此,Linux(Android)中的平均负载数量不会成为可靠的性能指标。

答案 3 :(得分:1)

有关“平均负载”的更多信息 显示超过1分钟,5分钟和15分钟的CPU负载

Linux,Mac和其他类似Unix的系统显示“平均负载”数字。这些数字告诉您系统的CPU,磁盘和其他资源有多忙。乍一看,它们并不容易解释,但是很容易熟悉它们。

WIKI: example, one can interpret a load average of "1.73 0.60 7.98" on a single-CPU system as:

during the last minute, the system was overloaded by 73% on average (1.73 runnable processes, so that 0.73 processes had to wait for a turn for a single CPU system on average).
during the last 5 minutes, the CPU was idling 40% of the time on average.
during the last 15 minutes, the system was overloaded 698% on average (7.98 runnable processes, so that 6.98 processes had to wait for a turn for a single CPU system on average) if dual core mean: 798% - 200% = 598%. 

您可能有一个具有多个CPU或多核CPU的系统。平均负载数在这种系统上的工作方式略有不同。例如,如果您在单CPU系统上的平均负载为2,则意味着您的系统过载了100%-在整个时间段内,一个进程正在使用CPU,而另一个进程正在等待。在具有两个CPU的系统上,这将是完整的用法-两个不同的进程始终使用两个不同的CPU。在具有四个CPU的系统上,这将是一半的使用率-两个进程使用两个CPU,而两个CPU处于空闲状态。

要了解平均负载数,您需要知道系统有多少个CPU。平均负载为6.03表示一个具有单个CPU的系统严重超载,但是在具有8个CPU的计算机上就可以了。

更多信息:Link

答案 4 :(得分:0)

High Performance Android Apps本书(第157页):

  • 我们看到的相当于adb shell dumpsys cpuinfo命令
  • 数字显示CPU load超过1分钟,5分钟和15分钟(从左侧开始)
  • 颜色显示CPU在用户空间(绿色),内核(红色)和IO中断(蓝色)中花费的时间