一、Android CPU监控
系统CPU占用率
adb shell cat /proc/stat
实例输出如下:
第一行数据为系统总的CPU使用数据,按上图即cpu计算如下:
CPUTime = 1144049(user) + 459555(nice) + 789659(system) + 4887508(idle) + 6606(iowait) + 491(irq) + 47150(softirq) + 0(steal) + 0(guest) + 0(guest_nice)
采样两个时间点的系统CPU,得出CPUTime1和CPUTime2
CPUTime1 = user1 + nice1 + system1 + idle1 + iowait1 + irq1 + softirq1 +steal1 + guest1 + guest_nice1;
CPUTime2 = user2 + nice2 + system2 + idle2 + iowait2 + irq2 + softirq2 +steal2 + guest2 + guest_nice2;
总的CPU时间:totalCPUTime = CPUTime2 – CPUTime1;
CPU空闲时间:idleCPUTime = idle2 – idle1;
总的CPU使用率:totalCPURate = (totalCPUTime – idleCPUTime) / totalCPUTime;
单独app的CPU占用率
adb shell cat /proc/<pid>/stat #使用adb shell ps | grep "package_name"获取到app的进程id即pid
实例输出如下: