实现统计 android手机 CPU使用率
# -*- coding:utf-8 -*-
'''
Created on Sep 10, 2018 @author: SaShuangYiBing
'''
import subprocess
import time class CPU_usage(object):
"""
CPU统计方法是参照:https://blog.csdn.net/xiaodanpeng/article/details/53503076 """
def __init__(self,t0):
self.time = t0 def read_cpu(self):
cpu_info0 = []
cpu_info1 = subprocess.check_output('adb shell cat /proc/stat').decode().split()[1:11]
for i in cpu_info1:
cpu_info0.append(int(i))
return cpu_info0 def get_idle(self):
cpu_idle = self.read_cpu()[3]
return cpu_idle def cal_cpu(self):
t1_total = sum(self.read_cpu())
t1_idle = self.get_idle()
time.sleep(self.time)
t2_total = sum(self.read_cpu())
t2_idle = self.get_idle()
cpu_usage = (1 - (t2_idle - t1_idle)/(t2_total - t1_total))*100
if cpu_usage < 0:
return cpu_usage == 0
else:
return cpu_usage if __name__ == "__main__":
cal_cpu = CPU_usage(1)
while True:
print (time.strftime('%Y-%m-%d %H:%M:%S') + " The CPU usage is %d" %cal_cpu.cal_cpu() + "%")
实现统计 android手机 CPU使用率的更多相关文章
- Android获取cpu使用率,剩余内存和硬盘容量
1.内存信息 在proc/meminfo下有具体的内存使用情况,我这里获取的内存信息就是从这个文件中获取的.获取到具体的内存信息后依据我自己的需求,从bufferdreader中单独抽取出来了剩余的内 ...
- 关于Android手机CPU不同架构的问题
1.共有7种架构 armeabiv-v7a: 第7代及以上的 ARM 处理器.2011年15月以后的生产的大部分Android设备都使用它. arm64-v8a: 第8代.64位ARM处理器,很少设备 ...
- 利用redis统计信息对CPU使用率进行收集
http://dy.163.com/v2/article/detail/DQT2ROO10511RVML.html
- 手机CPU
说起手机CPU的历史,笔者给大家提一个问题:"世界上第一款智能手机是什么呢?"相信很多人的答案是爱立信的R380或诺基亚的7650,但都不对,真正的首款智能手机是由摩托罗拉在200 ...
- django Highcharts制作图表--显示CPU使用率
Highcharts 是一个用纯JavaScript编写的一个图表库. Highcharts 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表 Highcharts 免费提供给个人学习 ...
- Android CPU使用率:top和dump cpuinfo的不同
CPU是系统非常重要的资源,在Android中,查看CPU使用情况,可以使用top命令和dump cpuinfo.我记得很久以前,就发现这两者存在不同,初步猜测应该是算法上存在差异.最近需要采集应用C ...
- ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。
如果没有对应于手机的SO文件,那么在调用第三方SDK时,会经常发生莫明其妙的错误.所以了解你调式或开发的目的手机CPU架构是很有必要的.
- CPU使用率统计办法
我们在搞性能测试的时候,对后台服务器的CPU利用率监控是一个常用的手段.服务器的CPU利用率高,则表明服务器很繁忙.如果前台响应时间越来越大,而后台CPU利用率始终上不去,说明在某个地方有瓶颈了,系统 ...
- 为什么Android手机总是越用越慢?
根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢”,也有超过460万条结果.在业内,Android手机一直有着“越用越慢”的口碑 ...
随机推荐
- laravel 数据模型方法
laravel 数据模型方法 作用:提供了数据库操作的方法 <?php namespace App; use Illuminate\Database\Eloquent\Model; class ...
- C# 数组 二维数组
数组:相同数据类型的元素按一定顺序排列的集合.是一组变量 作用:操作大量数据 数组的定义1.数组里面的内容必须是同一类型2.数据必须有长度限制 ...
- java的锁机制——synchronized
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁): 如果这个时候同步对象的锁被其他线程拿走了,他(这个线 ...
- Dagger2 单例
解锁Dagger2使用姿势(二) 之带你理解@Scope Dagger2从0基础使用,到单例注入的正确姿势 Android之dagger2的简单运用和详细解读(入门)
- 设计模式-生成器(Builder)
一.概念 将一个复杂对像的构建与它的表示分离,使得同样的构建过程创建不同的表示,又叫建造模式. 生成器模式的重心在于分离构建算法和具体的构造实现,从而使得构建算法可以重用.采用不同的构建实现,产生不 ...
- 华中农业大学第五届程序设计大赛网络同步赛-A
Problem A: Little Red Riding Hood Time Limit: 1 Sec Memory Limit: 1280 MBSubmit: 860 Solved: 133[S ...
- JS 为什么在涉及到模块开发this的时候使用类似 self = this 的形式 p7
JS 动态作用域(调用栈)实际上也没有准确说明的,大多数我们使用对多和认知上大多是词法作用域,但是this的机制跟动态作用域很像. var a = 2; function fn(){ console. ...
- 排序算法(2)--Insert Sorting--插入排序[2]--binary insertion sort--折半(二分)插入排序
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.基本思想 二分法插入排序的思想和直接插入一样,只是找合适的插入位置的方式不同,这里是按二分法找到合适的位置,可 ...
- javascript:类数组 -- 对象
在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象 的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...
- SpringMVC注解集合
@RequestMapper注解 绑定请求路径与处理方法例如: @RequestMapping("login.do") public String showLogin() { .. ...