我正在制作一个小型 Android 应用程序来显示当前的总 CPU 使用情况,例如 Windows 任务管理器中的“性能”选项卡。
我使用“top -m 1 -n 1 -d 1”来获取CPU使用率,但我并不真正理解“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 使用率?
这个问题接受的答案是不正确的。输出的第二行是该分组中启动的线程/进程的数量。上面你的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
根据接受的答案,我的 CPU 使用率为 310%,而这实际上只是线程数。我很确定我实际上只使用了 11% 的 CPU,其中前 3 个进程使用了总数的 9%。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)