在Ice Cream Sandwich上,“开发人员选项”中的一个选项是“显示CPU使用情况”,它在屏幕上添加了一个覆盖图(请参见下面的屏幕截图)。
我的问题是,如何读取数据?我猜想软件包名称是当前活动的进程,但是后面的红色和绿色条是什么意思?包裹顶部的3个数字是什么?
在Ice Cream Sandwich上,“开发人员选项”中的一个选项是“显示CPU使用情况”,它在屏幕上添加了一个覆盖图(请参见下面的屏幕截图)。
我的问题是,如何读取数据?我猜想软件包名称是当前活动的进程,但是后面的红色和绿色条是什么意思?包裹顶部的3个数字是什么?
Answers:
这应该是Unix的平均负载。维基百科上有一篇很好的文章。
这些数字表示不同时间间隔内CPU 的平均负载。从左到右:最后一分钟/最后五分钟/最后十五分钟
到目前为止,这是我所能找到的最有用的信息来源。显然,这些数字并不代表平均负载百分比:http : //forum.xda-developers.com/showthread.php? t=1495763
正如其他答案所指出的那样,在UNIX系统上,数字表示1/5/15分钟内的CPU平均负载。但是在Linux(因此是Android)上,它代表的是不同的东西。
在追溯到1993年的内核补丁(有关该主题的深入文章)之后,在Linux中,平均负载数不再严格代表CPU负载:因为计算不仅要考虑与CPU绑定的进程,还要考虑处于不间断等待状态的进程-最初的目标是用这种方式考虑与I / O绑定的进程,以表示更多的“系统负载”,而不仅仅是CPU负载。问题是,自1993年以来,Linux内核中对不间断状态的使用已经增长,并且不再典型地代表I / O绑定进程。一些Linux开发人员使用不间断的等待作为避免在其实现中容纳信号的简单等待,进一步加剧了这个问题。结果,在Linux(和Android)中,我们可以看到偏斜的高负载平均数不能客观地代表实际负载。有Android用户报告称,平均负载不合理,而CPU利用率较低。例如,我的旧Android手机(带有2个CPU内核)通常在系统和CPU空闲时显示平均负载约为12。因此,事实证明,Linux(Android)中的平均负载数并不是可靠的性能指标。
有关“平均负载”的更多信息,显示了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的计算机上就可以了。
更多信息:链接
摘自“ 高性能Android应用”一书(第157页):