如何阅读Stock CPU Usage数据

问题描述 投票:111回答:5

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

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

android cpu-usage
5个回答
76
投票

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

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


9
投票

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


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)中的平均负载数量并不是一个可靠的性能指标。


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


0
投票

High Performance Android Apps书(第157页):

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